張勇平, 張靜遠(yuǎn), 尹文進(jìn)
?
有限狀態(tài)機(jī)在魚雷搜索策略程序設(shè)計(jì)中的應(yīng)用
張勇平, 張靜遠(yuǎn), 尹文進(jìn)
(海軍工程大學(xué) 兵器工程系, 湖北 武漢, 430033)
為了提高魚雷搜索策略程序設(shè)計(jì)效率和程序可讀性, 方便修改邏輯和調(diào)試程序, 提出了基于有限狀態(tài)機(jī)的魚雷搜索策略程序設(shè)計(jì)方案; 通過(guò)分析魚雷在搜索、跟蹤和識(shí)別目標(biāo)等不同自導(dǎo)階段的自導(dǎo)邏輯關(guān)系, 提出了自導(dǎo)狀態(tài)、事件、活動(dòng)的確定原則并建立了相應(yīng)的模型; 結(jié)合有限狀態(tài)機(jī)理論, 建立了自導(dǎo)邏輯的事件狀態(tài)變遷關(guān)系圖, 提出了基于有限狀態(tài)機(jī)的程序?qū)崿F(xiàn)方案。通過(guò)仿真, 對(duì)所建模型和設(shè)計(jì)方案進(jìn)行了仿真驗(yàn)證。仿真結(jié)果表明, 狀態(tài)機(jī)程序運(yùn)行穩(wěn)定, 調(diào)試和跟蹤方便, 尤其為增加狀態(tài)、更改邏輯和調(diào)試程序提供了便利。
魚雷; 自導(dǎo)邏輯; 有限狀態(tài)機(jī); 搜索策略; 程序設(shè)計(jì)
隨著現(xiàn)代魚雷智能化的不斷提高, 其復(fù)雜的自導(dǎo)邏輯和搜索策略對(duì)自導(dǎo)程序的設(shè)計(jì)提出了更高的要求。采用傳統(tǒng)的程序設(shè)計(jì)方法需要設(shè)置眾多的標(biāo)志位和多層嵌套的條件判斷語(yǔ)句, 并且標(biāo)志位的更改和判斷經(jīng)常在不同嵌套層的判斷語(yǔ)句中。這種程序設(shè)計(jì)思想不僅使代碼冗長(zhǎng)、程序可讀性和可移植性降低, 而且調(diào)試?yán)щy, 不便于后期更改邏輯。狀態(tài)機(jī)(state machine, SM)不僅可以使程序中多事件之間的邏輯關(guān)系變得簡(jiǎn)潔明了, 同時(shí)它強(qiáng)大的錯(cuò)誤處理能力、用戶選擇測(cè)試、條件執(zhí)行等功能使多事件間的邏輯關(guān)系處理變得更為簡(jiǎn)單。把狀態(tài)機(jī)應(yīng)用到魚雷搜索策略程序設(shè)計(jì)中, 使用一個(gè)枚舉型狀態(tài)變量就可以代替幾十個(gè)標(biāo)志位, 狀態(tài)的變更和選擇在同一嵌套層內(nèi)完成, 程序流程清晰, 可讀性強(qiáng)。不僅有利于研制初期自導(dǎo)邏輯的修改完善, 而且可以減少程序設(shè)計(jì)中的錯(cuò)誤。
國(guó)內(nèi)對(duì)有限狀態(tài)機(jī)(finite state machine, FSM)的研究成果較多, 文獻(xiàn)[1]對(duì)狀態(tài)機(jī)的理論和應(yīng)用進(jìn)行了深入研究, 文獻(xiàn)[2]~[5]對(duì)狀態(tài)機(jī)的具體應(yīng)用進(jìn)行了研究。但是, 有限狀態(tài)機(jī)的應(yīng)用難點(diǎn)不在于對(duì)其理論的掌握, 而在于對(duì)具體應(yīng)用中狀態(tài)和事件的正確定義和建模。從可查閱的文獻(xiàn)來(lái)看, 還沒(méi)有把FSM應(yīng)用到魚雷搜索策略程序設(shè)計(jì)中的研究成果。本文基于有限狀態(tài)機(jī)理論, 對(duì)魚雷自導(dǎo)邏輯進(jìn)行分析和研究, 對(duì)其狀態(tài)、事件和活動(dòng)等進(jìn)行建模分析, 提出了魚雷搜索策略程序設(shè)計(jì)方案, 并通過(guò)魚雷制導(dǎo)性能仿真系統(tǒng)對(duì)設(shè)計(jì)方案進(jìn)行了仿真驗(yàn)證。
FSM又稱有限自動(dòng)機(jī)(finite automation, FA), 由狀態(tài)的有窮集和狀態(tài)之間的轉(zhuǎn)移關(guān)系組成, 是一種具有離散輸入輸出系統(tǒng)的數(shù)學(xué)模型, 主要為研究有限存儲(chǔ)的計(jì)算過(guò)程和某些語(yǔ)言類而抽象出來(lái)的[6]。FSM擁有有限數(shù)量的狀態(tài), 每個(gè)狀態(tài)可以遷移到零個(gè)或多個(gè)狀態(tài)。它以一種“事件驅(qū)動(dòng)”的方式工作, 可以通過(guò)事件驅(qū)動(dòng)下系統(tǒng)狀態(tài)間的轉(zhuǎn)移, 來(lái)表達(dá)一個(gè)控制系統(tǒng)的控制流程。根據(jù)接受器和轉(zhuǎn)換器的不同可以分為多種類型, 接受器判斷是否接受輸入, 轉(zhuǎn)換器對(duì)給定輸入產(chǎn)生一個(gè)輸出, 常見(jiàn)的轉(zhuǎn)換器有Moore機(jī)和Mealy機(jī)。Moore機(jī)對(duì)每一個(gè)狀態(tài)都附加有輸出動(dòng)作, 其輸出只與當(dāng)前的狀態(tài)有關(guān)。Mealy機(jī)對(duì)每一個(gè)轉(zhuǎn)移都附加有輸出動(dòng)作[1], 其輸出與當(dāng)前的狀態(tài)和輸入有關(guān)。 Mealy機(jī)具有非自包含性, 在較復(fù)雜的系統(tǒng)中, 將增加系統(tǒng)的開(kāi)發(fā)和維護(hù)的難度。Moor機(jī)具有自包含性, 有利于系統(tǒng)的開(kāi)發(fā)和維護(hù)[7]。
定義FSM是一個(gè)5元組
2.1.1 狀態(tài)的確定原則
狀態(tài)是物質(zhì)或?qū)ο蟮纳芷谥袧M足某種條件、執(zhí)行某些動(dòng)作或等待某些事件發(fā)生的一個(gè)階段, 能持續(xù)一段時(shí)間[8]。分析魚雷自導(dǎo)系統(tǒng)的工作過(guò)程并定義一個(gè)對(duì)象, 該對(duì)象的屬性為魚雷各種自導(dǎo)參數(shù)的組合。如果某時(shí)刻該對(duì)象對(duì)魚雷產(chǎn)生相同或類似的控制行為, 那么該對(duì)象便可作為FSM的一個(gè)狀態(tài)。
2.1.2 事件的確定原則
對(duì)狀態(tài)產(chǎn)生的影響包括“內(nèi)因”和“外因”兩種, “外因”是運(yùn)行于該狀態(tài)以外且對(duì)該狀態(tài)產(chǎn)生影響的各種因素, “內(nèi)因”是狀態(tài)的異常工作及正常工作積累量變后的質(zhì)變。“內(nèi)因”和“外因”可以抽象為“事件”, 是時(shí)空中顯式出現(xiàn)的特定現(xiàn)象, 它可以觸發(fā)狀態(tài)轉(zhuǎn)移[9]。由系統(tǒng)內(nèi)部產(chǎn)生的觸發(fā)事件為系統(tǒng)事件, 外部觸發(fā)事件為外部事件。分析魚雷自導(dǎo)工作過(guò)程, 那些促使自導(dǎo)系統(tǒng)調(diào)整或更改參數(shù)的特定現(xiàn)象可以歸結(jié)為事件。
2.1.3 活動(dòng)的確定原則
活動(dòng)是FSM中的一系列控制行為的組合, 是和某一個(gè)狀態(tài)或事件相關(guān)聯(lián)的。魚雷自導(dǎo)系統(tǒng)在工作過(guò)程中根據(jù)不同的狀態(tài)和事件而做出的某些控制行為可以稱之為活動(dòng), 這些活動(dòng)是不能引起狀態(tài)改變的。
2.2.1 狀態(tài)的建模
魚雷從入水到自導(dǎo)開(kāi)機(jī)階段是按照固定的程序航行, 不在本文的研究范圍之內(nèi)。魚雷從自導(dǎo)開(kāi)機(jī)到命中目標(biāo)期間的狀態(tài)是非常復(fù)雜和眾多的。限于篇幅, 不可能逐一建模分析。下面重點(diǎn)對(duì)未發(fā)現(xiàn)目標(biāo)以及發(fā)現(xiàn)后丟失目標(biāo)兩種情況下的狀態(tài)進(jìn)行建模分析, 以主流的魚雷前視聲自導(dǎo)技術(shù)為例進(jìn)行討論。
未發(fā)現(xiàn)目標(biāo)情況下, 假設(shè)魚雷按設(shè)定的彈道程序航行并搜索目標(biāo)。在沒(méi)有內(nèi)部或外部事件觸發(fā)時(shí), 魚雷以某一種彈道形式搜索目標(biāo)。同一種彈道形式有著相同或類似的自導(dǎo)、控制參數(shù)組合, 因此, 每一種搜索彈道形式可以歸結(jié)為一種狀態(tài)。各種狀態(tài)建模如下。
狀態(tài)1: 直航搜索
狀態(tài)2: 蛇形搜索
狀態(tài)3: 環(huán)形搜索
狀態(tài)4: 螺旋線形搜索
狀態(tài)5: 漸開(kāi)線形搜索
自導(dǎo)系統(tǒng)檢測(cè)到目標(biāo)后, 便轉(zhuǎn)入目標(biāo)捕獲、核實(shí)過(guò)程[10]。假設(shè)魚雷自導(dǎo)探測(cè)邏輯如下: 由于檢測(cè)目標(biāo)時(shí)的虛警存在, 需要2個(gè)脈沖周期的核實(shí)確認(rèn)。檢測(cè)到目標(biāo)后, 自導(dǎo)系統(tǒng)調(diào)整發(fā)射波束偏移角使其指向目標(biāo), 此時(shí), 自導(dǎo)系統(tǒng)處在一種發(fā)現(xiàn)目標(biāo)狀態(tài)。在隨后的2個(gè)脈沖周期中, 若有1個(gè)脈沖檢測(cè)到目標(biāo)則認(rèn)為自導(dǎo)系統(tǒng)捕獲到目標(biāo)。之后調(diào)整水平舵的控制參數(shù)使魚雷在水平面上對(duì)準(zhǔn)目標(biāo), 在下一個(gè)脈沖周期到達(dá)前, 各種參數(shù)保持不變, 自導(dǎo)系統(tǒng)處在捕獲狀態(tài)。在隨后的2個(gè)脈沖周期中, 若有一個(gè)脈沖檢測(cè)到目標(biāo)便認(rèn)為該目標(biāo)已經(jīng)過(guò)核實(shí)確認(rèn)。此后, 魚雷調(diào)整水平和垂直舵的參數(shù), 轉(zhuǎn)入雙平面跟蹤, 同時(shí)調(diào)整波束參數(shù), 自導(dǎo)系統(tǒng)處在追蹤狀態(tài)。若2個(gè)脈沖周期中都未檢測(cè)到目標(biāo), 自導(dǎo)系統(tǒng)則認(rèn)為探測(cè)到的是虛假目標(biāo), 此后更改為探測(cè)到該目標(biāo)前的航向繼續(xù)搜索。根據(jù)上述分析, 各種狀態(tài)建模如下。
狀態(tài)6: 發(fā)現(xiàn)
狀態(tài)7: 待捕獲
狀態(tài)8: 捕獲
狀態(tài)9: 待核實(shí)
狀態(tài)10: 核實(shí)
2.2.2 事件的建模
按照事件的確定原則, 魚雷自導(dǎo)系統(tǒng)中彈道定時(shí)器觸發(fā)的彈道變更信號(hào)是時(shí)間累積到限定值觸發(fā)的信號(hào), 可以歸結(jié)為一種系統(tǒng)事件。另外, 自導(dǎo)系統(tǒng)檢測(cè)到目標(biāo)、識(shí)別出氣幕彈、噪聲干擾器和誘餌都會(huì)促使魚雷改變彈道和自導(dǎo)參數(shù), 因此是一種外部事件。根據(jù)上述分析, 自導(dǎo)系統(tǒng)的事件建模如下。
事件1: 變更彈道信號(hào)
事件2: 檢測(cè)到目標(biāo)
事件3: 未檢測(cè)到目標(biāo)
事件4: 識(shí)別出氣幕彈
事件5: 識(shí)別出噪聲干擾器
事件6: 識(shí)別出點(diǎn)源誘餌
事件7: 識(shí)別出尺度誘餌
2.2.3 活動(dòng)的建模
按照活動(dòng)的確定原則, 調(diào)整水平和垂直舵的角度是和彈道定時(shí)器的發(fā)出變更彈道信號(hào)相關(guān)聯(lián)的。因此, 可以歸結(jié)為一種活動(dòng)。調(diào)整發(fā)射波束偏移角、接收波束偏移角等自導(dǎo)參數(shù)是在檢測(cè)到目標(biāo)或識(shí)別出假目標(biāo)等事件時(shí)做出的, 不會(huì)引起狀態(tài)的改變, 因此是一種活動(dòng)。關(guān)閉和啟動(dòng)彈道定時(shí)器與發(fā)現(xiàn)和丟失目標(biāo)2個(gè)狀態(tài)相關(guān)聯(lián)的, 可以視為一種活動(dòng)。另外, 某些事件發(fā)生時(shí)需要改變自導(dǎo)狀態(tài), 這也是一種特殊的活動(dòng)。按照上述分析, 自導(dǎo)系統(tǒng)的活動(dòng)建模如下。
活動(dòng)1: 調(diào)整水平舵的角度
活動(dòng)2: 調(diào)整垂直舵的角度
活動(dòng)3: 改變魚雷航速
活動(dòng)4: 調(diào)整發(fā)射波束偏移角
活動(dòng)5: 調(diào)整接收波束偏移角
活動(dòng)6: 調(diào)整發(fā)射脈沖周期
活動(dòng)7: 調(diào)整發(fā)射脈沖寬度
活動(dòng)8: 關(guān)閉彈道定時(shí)器
活動(dòng)9: 啟動(dòng)彈道定時(shí)器
魚雷自導(dǎo)系統(tǒng)未發(fā)現(xiàn)目標(biāo)情況下的邏輯和狀態(tài)變遷關(guān)系比較簡(jiǎn)單, 此處不予討論。根據(jù)上述所建的狀態(tài)和事件模型以及自導(dǎo)邏輯, 建立事件-狀態(tài)變遷關(guān)系, 見(jiàn)圖1。
魚雷自導(dǎo)系統(tǒng)中引起狀態(tài)變遷的事件都是以脈沖周期為間隔發(fā)生的, 事件發(fā)生后切換到一個(gè)新的狀態(tài), 然后調(diào)整相關(guān)的自導(dǎo)參數(shù)和彈道控制參數(shù)。從狀態(tài)機(jī)的理論來(lái)看, 該狀態(tài)機(jī)的一系列活動(dòng)都只與某一個(gè)狀態(tài)有關(guān)。因此, 把自導(dǎo)狀態(tài)機(jī)設(shè)計(jì)成Moore機(jī)更為合適。這也為日后改變自導(dǎo)邏輯提供了方便, 只需更改或加入新的狀態(tài)和與該狀態(tài)相關(guān)的活動(dòng)即可, 便于自導(dǎo)程序的維護(hù)和升級(jí)。
圖1 事件-狀態(tài)變遷圖
魚雷自導(dǎo)邏輯是非常復(fù)雜的, 涉及到目標(biāo)識(shí)別、丟失目標(biāo)后再搜索和水聲反對(duì)抗等, 其狀態(tài)數(shù)目有好幾十種, 采用面向?qū)ο蟮姆椒ㄌ幚韯t需 要設(shè)計(jì)幾十個(gè)類, 這無(wú)疑增加了程序的復(fù)雜性。這里采用流程狀態(tài)機(jī)實(shí)現(xiàn)是比較方便的, 其執(zhí)行圖見(jiàn)圖2。其中, 活動(dòng)可以分為入口動(dòng)作和出口動(dòng)作2種。入口動(dòng)作是變遷到新?tīng)顟B(tài)時(shí)執(zhí)行的與新?tīng)顟B(tài)有關(guān)的一系列活動(dòng)[11], 包括調(diào)整波束參數(shù)和變更彈道參數(shù)等。出口動(dòng)作是原狀態(tài)變遷到一新?tīng)顟B(tài)中, 執(zhí)行的原狀態(tài)出口活動(dòng), 主要是把狀態(tài)設(shè)定為下一個(gè)新?tīng)顟B(tài)。
3.3.1 數(shù)據(jù)結(jié)構(gòu)及函數(shù)的設(shè)計(jì)
狀態(tài)和事件的數(shù)據(jù)結(jié)構(gòu)采用枚舉數(shù)據(jù)類型即可實(shí)現(xiàn), 狀態(tài)入口動(dòng)作和狀態(tài)出口動(dòng)作分別采用一個(gè)函數(shù)實(shí)現(xiàn)。設(shè)計(jì)如下。
Event{DetectTarget, IdentifyBlister, IdentifyNois
圖2 狀態(tài)機(jī)執(zhí)行圖
DetectFunction() //檢測(cè)函數(shù)
{
TorpedoGuideState= DetectTarget; //完成自導(dǎo)檢測(cè)過(guò)程并對(duì)事件變量賦值
}
State_EntryFunction() //狀態(tài)入口函數(shù)
{
AdjustBallisticParameter(); //調(diào)整彈道控制參數(shù)
AdjustBeamParameter(); //調(diào)整波束參數(shù)
AdjustPulseParameter(); //調(diào)整脈沖參數(shù)
}
State_ExitFunction() //狀態(tài)出口函數(shù)
{
TorpedoGuideState=NextState;
//把狀態(tài)設(shè)置為下一個(gè)狀態(tài)
}
3.3.2 程序架構(gòu)的設(shè)計(jì)
要實(shí)現(xiàn)狀態(tài)機(jī)的基于事件的狀態(tài)變遷過(guò)程, 需要重復(fù)判斷的選擇機(jī)制。以C++程序設(shè)計(jì)語(yǔ)言為例, 采用switch-case語(yǔ)句就可以很好的實(shí)現(xiàn)上述狀態(tài)機(jī)的功能。程序架構(gòu)設(shè)計(jì)如下。
switch(TorpedoGuideState)
{
case Research: //狀態(tài)1;
{
Research_EntryFunction(); //狀態(tài)入口函數(shù)
Research_ExitFunction(); //狀態(tài)出口函數(shù)
break;
}
case FindTarget:
{
FindTarget _EntryFunction(); //狀態(tài)入口函數(shù)
FindTarget _ExitFunction(); //狀態(tài)出口函數(shù)
break;
}
.........
default:
break;
}
在魚雷自導(dǎo)性能的分布式仿真系統(tǒng)中, 對(duì)上述狀態(tài)機(jī)模型在魚雷聯(lián)邦成員的程序設(shè)計(jì)中進(jìn)行了應(yīng)用。從魚雷初始搜索開(kāi)始, 共建立了26個(gè)狀態(tài)模型, 11個(gè)事件模型和24種活動(dòng), 使用枚舉變量定義狀態(tài)和事件, 利用函數(shù)實(shí)現(xiàn)特定活動(dòng), 采用switch-case語(yǔ)句進(jìn)行設(shè)計(jì)。對(duì)不同雷目距離、不同自導(dǎo)參數(shù)和多種對(duì)抗態(tài)勢(shì)下進(jìn)行了10次魚雷對(duì)潛攻擊仿真。其中: 3次結(jié)果為魚雷識(shí)別并穿越出噪聲干擾器后發(fā)現(xiàn)并命中目標(biāo); 4次結(jié)果為直接發(fā)現(xiàn)并命中目標(biāo); 3次結(jié)果為魚雷被誘餌誘騙后旋回搜索未發(fā)現(xiàn)目標(biāo)導(dǎo)致攻擊失敗。上述結(jié)果很好地實(shí)現(xiàn)了預(yù)先設(shè)計(jì)的邏輯和搜索策略。
有限狀態(tài)機(jī)應(yīng)用的難點(diǎn)是系統(tǒng)狀態(tài)、事件以及狀態(tài)機(jī)的正確建模, 本文把有限狀態(tài)機(jī)理論應(yīng)用到魚雷搜索策略的程序設(shè)計(jì)中。通過(guò)分析自導(dǎo)邏輯的特點(diǎn), 研究了自導(dǎo)狀態(tài)、事件和活動(dòng)的確定原則, 建立了發(fā)現(xiàn)目標(biāo)情況下自導(dǎo)狀態(tài)、事件、活動(dòng)以及狀態(tài)機(jī)的模型, 最后對(duì)狀態(tài)機(jī)的執(zhí)行過(guò)程和程序?qū)崿F(xiàn)進(jìn)行了研究?;诒疚脑O(shè)計(jì)的自導(dǎo)程序在魚雷自導(dǎo)性能仿真系統(tǒng)中進(jìn)行了仿真驗(yàn)證, 仿真結(jié)果表明, 程序運(yùn)行穩(wěn)定, 調(diào)試和跟蹤方便, 尤其是為增加狀態(tài)、更改邏輯和調(diào)試程序提供了便利。
[1] 何興高, 王忠仁, 劉心松. 有限自動(dòng)機(jī)理論在高速公路收費(fèi)中的應(yīng)用[J]. 計(jì)算機(jī)應(yīng)用, 2000, 20(3): 59-60.
[2] 張欣. 基于有限狀態(tài)機(jī)的數(shù)字同步重頻分選器[J]. 系統(tǒng)工程與電子技術(shù), 2001, 22(3): 31-33.
[3] 李凌鵬, 孫文. 有限狀態(tài)機(jī)在防空作戰(zhàn)仿真中的應(yīng)用[J]. 電光與控制, 2005(5): 76-78.
Li Ling-peng, Sun Wen. Application of Finite State Machine in Simulation of Air-defense Combat[J]. Electronics Optics & Control, 2005, 35(5): 76-78.
[4] 張俊. 狀態(tài)機(jī)思路在單片機(jī)程序設(shè)計(jì)中的應(yīng)用[J]. 今日電子, 2009, 16(2): 37-39.
[5] 陳小琴, 蔣存波, 金紅. 狀態(tài)機(jī)原理在控制程序設(shè)計(jì)中的應(yīng)用[J]. 制造業(yè)自動(dòng)化, 2007, 29(10): 57-60.
Chen Xiao-qin, Jiang Cun-bo, Jin Hong. The Application of the Finite Automation Principle in Control Program[J]. Man- ufacturing Automation, 2007,29(10): 57-60.
[6] 曹邦武, 姜長(zhǎng)生. 基于有限狀態(tài)機(jī)理論的電視指令制導(dǎo)導(dǎo)彈攻擊過(guò)程研究[J]. 電光與控制, 2007, 38(5): 71-74.
Cao Bang-wu, Jiang Chang-sheng. On TV-command-guided Missile Attacking Process Based on Finite State Machine Theory[J]. Electronics Optics & Control, 2007, 38(5): 71-74.
[7] Drumea A, Popescu C. Finite State Machines and Their Applications in Software for Industrial Control: Meeting the Challenges of Electronics Technology Progress[C]. 2004:25- 29.
[8] 武楠, 房立金, 姜春英, 等. 基于有限狀態(tài)機(jī)的空間對(duì)接仿真平臺(tái)控制系統(tǒng)設(shè)計(jì)[J]. 機(jī)器人, 2007, 24(4): 378-383.
Wu Nan, Fang li-jin, Jiang Chun-ying, et al. Control System Design of a Space Docking Simulation Platform Based on Finite State Machine[J]. Robot, 2007, 24(4): 378-383.
[9] 肖勇軍, 施榮華. 基于TMS結(jié)構(gòu)的OSPF鄰居狀態(tài)機(jī)設(shè)計(jì)與實(shí)現(xiàn)[J]. 長(zhǎng)沙通信職業(yè)技術(shù)學(xué)院學(xué)報(bào), 2005, 4(1): 49-52.
Xiao Yong-jun, Shi Rong-hua. Design and Realization of OSPF Neighbor State Machine Based on TMS Architecture[J]. Journal of Changsha Telecommunications and Technology Vocational College, 2005, 4(1): 49-52.
[10] 張靜遠(yuǎn). 魚雷作戰(zhàn)使用與作戰(zhàn)能力分析[M]. 北京: 國(guó)防工業(yè)出版社, 2005:5-47.
[11] 黎文導(dǎo), 盧瑜. 有限狀態(tài)機(jī)(FSM)的實(shí)現(xiàn)[J]. 青海師范大學(xué)學(xué)報(bào)(自然科學(xué)版), 2001, 23(4): 18-21.
Li Wen-dao, Lü Yu. The Realization of FSM[J]. Journal of Qinghai Normal University(Natural Science Edition), 2001, 23(4): 18-21.
Application of Finite State Machine to Program Design of Torpedo Search Strategy
ZHANG Yong-ping, ZHANG Jing-yuan, YIN Wen-jin
(Department of Weaponry Engineering, Naval University of Engineering, Wuhan 430033, China)
A design scheme of torpedo search strategy program based on finite state machine is presented to improve the design efficiency and readability of torpedo search strategy program, and to facilitate the modification of logic and debugging. The definition standard and model of homing state, event, and activity are established by analyzing the torpedo homing logic relations at such stages as searching, pursuit and identification of target. The state transition diagram of homing logic and the implementation of homing program are introduced based on the finite state machine theory. The model and design scheme are validated by simulation, and the results show that the program operation on state machine is stable; the debugging and pursuit are easy; especially, adding state, altering logic and debugging program become convenient.
torpedo; homing logic; finite state machine; search strategy; program design
TJ630.34
A
1673-1948(2012)04-0256-05
2012-03-14;
2012-04-12.
張勇平(1979-), 男, 在讀博士, 工程師, 主要研究方向?yàn)轸~雷自導(dǎo)技術(shù)、水聲信號(hào)處理及系統(tǒng)仿真.
(責(zé)任編輯: 楊力軍)