国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

無(wú)人機(jī)隨艦飛行時(shí)的航路勾徑偏移

2022-01-11 09:42吳波
現(xiàn)代計(jì)算機(jī) 2021年32期
關(guān)鍵詞:數(shù)據(jù)包測(cè)控艦船

吳波

(南京模擬技術(shù)研究所,南京 210016)

0 引言

無(wú)人機(jī)系列產(chǎn)品是南京模擬技術(shù)研究所眾多模擬訓(xùn)練產(chǎn)品中的一類,海用型無(wú)人機(jī)系列產(chǎn)品是眾多無(wú)人機(jī)系列產(chǎn)品中的一類。海用型無(wú)人機(jī)具備陸地和艦上起飛、海上回收、伴艦飛行、協(xié)同編隊(duì)等能力。海用型無(wú)人機(jī)伴艦飛行時(shí),飛行航線會(huì)跟隨艦船移動(dòng)的方向和速度實(shí)時(shí)移動(dòng),始終保證航線相對(duì)艦船的方向、位置不變。

為了滿足訓(xùn)練時(shí)無(wú)人機(jī)飛行航路對(duì)艦勾徑變化的需求,需要在飛行時(shí)調(diào)整某段航路的位置。調(diào)整飛行航路,就需要修改無(wú)人機(jī)存儲(chǔ)的飛行航線。首先在測(cè)控軟件上修改本機(jī)航線的位置,再通過(guò)遙調(diào)功能修改無(wú)人機(jī)的航線信息。一種方法是手動(dòng)調(diào)整本機(jī)航線段,再依次將調(diào)整的位置、高度等信息反饋給無(wú)人機(jī)。但是手動(dòng)調(diào)整本機(jī)航線的位置等信息,計(jì)算復(fù)雜,精度較低,且手動(dòng)反饋的速度太慢。另一種方法是自動(dòng)化調(diào)整,開發(fā)自動(dòng)調(diào)整航線對(duì)艦勾徑的功能。該功能在選擇好相對(duì)的艦船和偏移的航線段后,輸入最終的勾徑值,按照此勾徑值對(duì)該段航線整體偏移,重新繪制,并將航線變化的位置等信息反饋給無(wú)人機(jī)。無(wú)人機(jī)再調(diào)整飛行航路,進(jìn)而達(dá)到勾徑偏移的效果。鑒于實(shí)際任務(wù)需要,設(shè)計(jì)了“航點(diǎn)勾徑偏移”(即“航路勾徑偏移”)功能。

1 功能描述

當(dāng)無(wú)人機(jī)測(cè)控軟件收到無(wú)人機(jī)和艦船的數(shù)據(jù)后,接入該架無(wú)人機(jī)的遙控、遙調(diào)控制權(quán)限。通過(guò)界面顯示的“艦船回傳計(jì)數(shù)”信息,可以確保無(wú)人機(jī)收到艦船數(shù)據(jù)。之后上傳本機(jī)航線信息至無(wú)人機(jī)飛行控制系統(tǒng)。無(wú)人機(jī)起飛后,進(jìn)入航線自動(dòng)飛行。無(wú)人機(jī)飛行至待調(diào)整勾徑航線段前時(shí),打開“航點(diǎn)勾徑偏移”對(duì)話框,如圖1所示。

圖1 航點(diǎn)勾徑偏移

具體內(nèi)容介紹如下:

(1)艦船編號(hào)。艦船的編號(hào)信息。飛行航線調(diào)整時(shí),計(jì)算偏移航線位置信息使用的艦船編號(hào)。

(2)本地航線號(hào)。無(wú)人機(jī)測(cè)控軟件主視圖界面上顯示的飛行航線編號(hào)。

(3)上傳航線號(hào)。向無(wú)人機(jī)發(fā)送航點(diǎn)數(shù)據(jù)包時(shí),數(shù)據(jù)包的航線信息識(shí)別碼(數(shù)據(jù)包包含航線信息識(shí)別碼、航點(diǎn)信息識(shí)別碼)。

(4)起始點(diǎn)。偏移的起始航點(diǎn)。

(5)終止點(diǎn)。偏移的結(jié)束航點(diǎn)。

(6)勾徑值。偏移后的航線段距離艦船的垂直距離。

選擇完起始點(diǎn)、終止點(diǎn)后,軟件會(huì)自動(dòng)計(jì)算并在下方顯示該航線段當(dāng)前的對(duì)艦勾徑值。以計(jì)算出的當(dāng)前勾徑值為參考,輸入調(diào)整后的勾徑值(例如5000)。點(diǎn)擊“確定”按鈕,測(cè)控軟件會(huì)自動(dòng)將該段航線調(diào)整至勾徑值為5000 m 處,重新繪制航線,并將調(diào)整的航線段信息發(fā)送給無(wú)人機(jī)。發(fā)送成功后,無(wú)人機(jī)會(huì)按照調(diào)整后的航線伴艦飛行。

2 算法實(shí)現(xiàn)

航線段起始點(diǎn)高斯坐標(biāo)P(1a1,b1),終止點(diǎn)高斯坐標(biāo)P(2a2,b2),艦船高斯坐標(biāo)P(3a3,b3),調(diào) 整 后 的 勾 徑 值 dfGoujing (PI =3.1415926535897932)。

圖2 算法示意圖

起始點(diǎn)和結(jié)束點(diǎn)經(jīng)過(guò)的直線方程Ax+By+C=0。 計(jì)算得A=(b2-b1),B=(a1-a2),C=(a2×b1-a1×b2)。艦船高斯坐標(biāo)點(diǎn)與直線的垂足坐標(biāo)為P(4x,y),可得:

x=(a3×B×B-b3×A×B-A×C)(/A×A+B×B)

y=(b3×A×A-a3×A×B-B×C)(/A×A+B×B)

由艦船坐標(biāo)P3和垂足坐標(biāo)P4

計(jì)算艦船當(dāng)前勾徑:

double dfDistance = sqrt((x-a3)*(x-a3)+(yb3)*(y-b3))

需要調(diào)整的勾徑值double dfOffsetDis=dfGoujing-dfDistance;

計(jì)算艦船相對(duì)直線的方向:

為了預(yù)防艦船剛好出現(xiàn)在航線段上的特殊情況:

計(jì)算航點(diǎn)P(1a1,b1)與航點(diǎn)P(2a2,b2)的方向?yàn)閐fDirectionLine(與計(jì)算艦船相對(duì)直線的方向的方法相同)。當(dāng)dfDistance<1 m時(shí),始終計(jì)算

4 功能實(shí)現(xiàn)

4.1 航點(diǎn)信息處理

測(cè)控軟件與無(wú)人機(jī)之間通信如圖3所示。

圖3 數(shù)據(jù)傳輸

地面測(cè)控站作為工作電腦與無(wú)人機(jī)的中繼站,與個(gè)人工作電腦通過(guò)網(wǎng)絡(luò)連接,與無(wú)人機(jī)之間通過(guò)電磁波通信。

(1)個(gè)人工作電腦運(yùn)行測(cè)控軟件。操作人員操作測(cè)控軟件,執(zhí)行指令。測(cè)控軟件將指令打包成數(shù)據(jù)幀后通過(guò)網(wǎng)線發(fā)送給地面工作站。由于指令發(fā)送對(duì)速度、實(shí)時(shí)性要求較高,所以測(cè)控軟件與地面測(cè)控站之間使用了UPD傳輸協(xié)議。

(2)地面測(cè)控站通過(guò)天線設(shè)備向無(wú)人機(jī)發(fā)送指令數(shù)據(jù)幀。無(wú)指令觸發(fā)時(shí),地面測(cè)控站以固定頻率持續(xù)發(fā)送空指令。當(dāng)?shù)孛鏈y(cè)控站接收到個(gè)人工作電腦通過(guò)網(wǎng)絡(luò)發(fā)送的指令,則將指令裝載后發(fā)送給無(wú)人機(jī)。

(3)無(wú)人機(jī)接收到指令后,會(huì)以校驗(yàn)數(shù)據(jù)包的形式回傳指令信息。校驗(yàn)數(shù)據(jù)包通過(guò)天線反饋給地面測(cè)控站,地面測(cè)控站再通過(guò)網(wǎng)絡(luò)發(fā)送給個(gè)人工作電腦。運(yùn)行在個(gè)人工作電腦上的測(cè)控軟件接收到校驗(yàn)數(shù)據(jù)包后,先對(duì)校驗(yàn)數(shù)據(jù)包進(jìn)行校驗(yàn)。校驗(yàn)正確后,再使用之前發(fā)送的指令數(shù)據(jù)包與校驗(yàn)數(shù)據(jù)包進(jìn)行比對(duì)。如果比對(duì)正確,則認(rèn)為該指令已成功發(fā)送給無(wú)人機(jī),并輸出發(fā)送成功標(biāo)識(shí)。

(4)依據(jù)上述(1)—(3)通信過(guò)程,將調(diào)整的航點(diǎn)信息發(fā)送給無(wú)人機(jī)。具體流程如圖4 所示。

圖4 航點(diǎn)上傳流程

1)啟動(dòng)多航點(diǎn)上傳線程。由于啟動(dòng)下一個(gè)航點(diǎn)的上傳需要等待上一個(gè)航點(diǎn)上傳完成,所以多航點(diǎn)上傳耗時(shí)較久,因此需要單獨(dú)開辟多航點(diǎn)上傳線程:

之后再對(duì)處理的經(jīng)緯度數(shù)據(jù)包加上幀頭、航線信息識(shí)別碼、航點(diǎn)信息識(shí)別碼、校驗(yàn)碼。

3)上傳當(dāng)前航點(diǎn)數(shù)據(jù)。上傳過(guò)程采取先進(jìn)先出原則,超時(shí)等待時(shí)間為3 s。當(dāng)前數(shù)據(jù)包發(fā)送后,如果3 s 內(nèi)接收到無(wú)人機(jī)回傳的確認(rèn)數(shù)據(jù)包,則進(jìn)行數(shù)據(jù)比對(duì)。比對(duì)成功,則認(rèn)為本次上傳成功;比對(duì)失敗,則上傳失敗。如果3 s內(nèi)沒(méi)有收到無(wú)人機(jī)回傳的確認(rèn)數(shù)據(jù)包,則認(rèn)為發(fā)送超時(shí),上傳失敗。無(wú)論是否收到回傳的確認(rèn)數(shù)據(jù)包,超過(guò)3 秒后,當(dāng)前數(shù)據(jù)包都要出隊(duì)列,執(zhí)行下一個(gè)數(shù)據(jù)包的處理過(guò)程。

4)循環(huán)處理。依步驟3),對(duì)所有調(diào)整的航點(diǎn)進(jìn)行處理。直到處理完所有待調(diào)整的航點(diǎn)信息或者中途失敗,則處理結(jié)束,返回處理結(jié)果(成功/失?。?。

4.2 GDI繪制航點(diǎn)

圖形設(shè)備接口(GDI,graphics device interface)是Windows 的子系統(tǒng),它負(fù)責(zé)在顯示器和打印機(jī)上顯示圖形,是程序與計(jì)算機(jī)硬件之間的橋梁,是Windows 重要組成部分之一。不但一般的Windows 應(yīng)用系統(tǒng)在顯示視覺(jué)信息時(shí)使用GDI,而且Windows 本身也使用GDI 來(lái)顯示用戶界面對(duì)象。

為了實(shí)時(shí)監(jiān)控?zé)o人機(jī)狀態(tài)信息,主視圖界面以300 ms 的周期持續(xù)刷新。界面上的航線圖也會(huì)跟著界面不斷刷新。一旦航點(diǎn)信息發(fā)生變化,航線圖會(huì)按照新的航點(diǎn)信息重新繪制。測(cè)控軟件采用GDI方法繪制主界面航線圖,具體步驟如下:

(1)創(chuàng)建畫筆對(duì)象。

航線段偏移到預(yù)期位置,意味著主界面航線繪制完成。無(wú)人機(jī)會(huì)沿著調(diào)整后的航線完成剩下的飛行過(guò)程。

5 程序運(yùn)行界面效果

下面為調(diào)節(jié)前后的航線對(duì)比圖。圖5 顯示的是調(diào)節(jié)前航線,圖6 顯示的是調(diào)節(jié)后航線。1 號(hào)艦船為無(wú)人機(jī)飛行跟隨艦,2 號(hào)艦船為輔助艦,航線段的調(diào)整計(jì)算方式依賴1號(hào)艦的位置。

圖5 初始航線

圖6 調(diào)節(jié)后航線

上圖調(diào)節(jié)的目標(biāo)航點(diǎn)段為09→10 航線段,為了使無(wú)人機(jī)沿著1 號(hào)艦船的艦尾1000 米勾徑直線飛行,使用“航點(diǎn)勾徑偏移”,調(diào)整09→10 航線段的勾徑值為1000 m。

6 結(jié)語(yǔ)

本文介紹了航路勾徑偏移功能的算法實(shí)現(xiàn)和功能實(shí)現(xiàn)?!昂近c(diǎn)勾徑偏移”功能可以精確計(jì)算偏移后的航點(diǎn)信息,自動(dòng)向無(wú)人機(jī)發(fā)送新航點(diǎn)信息,重新繪制新航點(diǎn)。既滿足了飛行訓(xùn)練時(shí)無(wú)人機(jī)對(duì)艦勾徑精度的需求,又簡(jiǎn)化了操作人員的操作步驟,減輕了操作人員的操作壓力,幫助操作人員更好的完成飛行保障任務(wù)。

猜你喜歡
數(shù)據(jù)包測(cè)控艦船
基于時(shí)隙ALOHA與NOMA的通信系統(tǒng)性能分析
支持向量機(jī)的艦船圖像識(shí)別與分類技術(shù)
風(fēng)浪干擾條件下艦船航向保持非線性控制系統(tǒng)
星載測(cè)控終端型譜化研究
艦船測(cè)風(fēng)傳感器安裝位置數(shù)值仿真
C#串口高效可靠的接收方案設(shè)計(jì)
網(wǎng)絡(luò)數(shù)據(jù)包的抓取與識(shí)別
臺(tái)日艦船對(duì)峙內(nèi)幕曝光
赤城县| 锦屏县| 新营市| 嘉荫县| 南漳县| 仙桃市| 磴口县| 新乡市| 卢龙县| 石门县| 伊宁市| 玉环县| 盐亭县| 华宁县| 阜新市| 和林格尔县| 肇庆市| 泾源县| 罗田县| 会同县| 布拖县| 策勒县| 保山市| 万安县| 万年县| 永春县| 西丰县| 视频| 罗甸县| 句容市| 渭南市| 垦利县| 西丰县| 湘潭市| 基隆市| 衡东县| 库尔勒市| 滁州市| 田阳县| 广州市| 昌宁县|