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

?

半實物無人機天線控制系統(tǒng)模擬器設(shè)計

2018-10-18 10:33張云崔曉佳
現(xiàn)代計算機 2018年26期
關(guān)鍵詞:指示燈模擬器字節(jié)

張云,崔曉佳

(陸軍工程大學石家莊校區(qū),石家莊 050003)

半實物;無人機;天線控制系統(tǒng);模擬器

0 引言

無人化是當今高技術(shù)、信息化戰(zhàn)場的發(fā)展趨勢之一,無人機在戰(zhàn)場感知、通信中繼、目標定位、精確打擊和毀傷評估方面的作用尤為突出。目前,在無人機教學中存在一些問題,影響了教學的效率。例如,無人機地面天線結(jié)構(gòu)復(fù)雜,天線體及天線座的體積較大,需要空間展開,并且需要多席位協(xié)同操作,因此操作訓練只能在室外,受天氣、場地、人員等條件的限制。加之無人機裝備價格昂貴、配裝少,但學員人數(shù)多,導致學員課上裝備摸得少,課下裝備摸不著,學習訓練效率低。針對這一問題,本文實現(xiàn)了實物天線控制柜對虛擬天線的控制,并及時返回控制數(shù)據(jù),采用Unity3D軟件對地面天線進行仿真建模,通過串口實現(xiàn)天線控制柜控制指令與虛擬天線動作的交互。利用該半實物無人機天線控制系統(tǒng)模擬器進行教學,方便學員單人練習和課下自學。

1 半實物無人機天線控制系統(tǒng)模擬器總體設(shè)計

半實物無人機天線控制系統(tǒng)模擬器組成包括虛擬天線軟件和實物天線控制柜。以無人機地面天線實物為原型,利用建模軟件構(gòu)建虛擬天線三維模型,然后將模型導入Unity3D引擎進行開發(fā),實現(xiàn)虛擬天線對實物天線控制柜操作指令的響應(yīng)與信息反饋。

1.1 半實物無人機天線控制系統(tǒng)模擬器系統(tǒng)流程

半實物無人機天線控制系統(tǒng)模擬器系統(tǒng)流程分為實物天線控制柜操作指令數(shù)據(jù)發(fā)送流程、虛擬天線反饋數(shù)據(jù)接收流程,如圖1所示。

圖1 操作指令數(shù)據(jù)發(fā)送和反饋數(shù)據(jù)接收流程

1.2 半實物無人機天線控制系統(tǒng)模擬器虛擬天線設(shè)計

半實物無人機天線控制系統(tǒng)模擬器虛擬天線采用Unity3D軟件實現(xiàn),如圖2所示。

為了使虛擬天線能夠完全模擬實物天線的所有操作動作,我們構(gòu)建模型時盡量細化,按照操作動作邏輯打包父子關(guān)系,如圖3所示。

圖2 虛擬天線

(1)虛擬天線軟件接收數(shù)據(jù)

點擊這8個開關(guān)按鈕發(fā)送相關(guān)指令,經(jīng)RS-232串口送入虛擬天線軟件中進行處理,其接收數(shù)據(jù)格式為:數(shù)據(jù)為16進制,每幀數(shù)據(jù)5個字節(jié),每字節(jié)8位。第一字節(jié)(RecvData[0])7E 幀頭;第二字節(jié)(RecvData[2])為操縱臺上按鈕的數(shù)據(jù)接收;第三字節(jié)(RecvData[3])為方位數(shù)據(jù);第四字節(jié)(RecvData[4])為俯仰數(shù)據(jù);第五字節(jié)(RecvData[5])FF幀尾。如表1所示:

表1 虛擬天線軟件接收數(shù)據(jù)的字節(jié)表

圖3 虛擬天線模型的父子關(guān)系

2 虛擬天線與實物天線控制柜的數(shù)據(jù)交互

要實現(xiàn)虛擬天線與實物天線控制柜的數(shù)據(jù)交互,就要實現(xiàn)串口數(shù)據(jù)的接收、處理與發(fā)送。

2.1 操縱臺上開關(guān)按鈕與虛擬天線軟件的交互

實物操縱臺上設(shè)有8個開關(guān)按鈕,每個開關(guān)按鈕都有相應(yīng)的指示燈。點擊這些開關(guān)按鈕發(fā)送相關(guān)指令,經(jīng)RS-232串口送入虛擬天線軟件進行相應(yīng)的處理,處理后的信號經(jīng)RS-232串口返回操縱臺,使面板上相應(yīng)的指示燈點亮,顯示該時刻虛擬天線的方位和俯仰數(shù)據(jù),具體工作流程如圖4所示。

串口接收時要對幀頭、幀尾進行判斷,如果判斷接收的數(shù)據(jù)幀頭和幀尾分別為十六進制的7E和FF,則判斷為有效幀。若為有效幀,則分別讀取第二字節(jié)、第三字節(jié)和第四字節(jié)的數(shù)據(jù)。

(2)虛擬天線軟件發(fā)送數(shù)據(jù)

虛擬天線軟件對操縱臺發(fā)送的控制數(shù)據(jù)格式為:數(shù)據(jù)為16進制,每幀數(shù)據(jù)10個字節(jié)(從byteSend[0]到byteSend[9]),每字節(jié) 8 位。第一字節(jié)(byteSend[0])和第二字節(jié)(byteSend[1])為幀頭;第三字節(jié)(byteSend[2])為向操縱臺上8個開關(guān)按鈕的反饋數(shù)據(jù);第四字節(jié)(by?teSend[3])控制俯仰數(shù)據(jù)低8位的數(shù)碼顯示;第五字節(jié)(byteSend[4])控制俯仰數(shù)據(jù)高8位的數(shù)碼顯示;第六字節(jié)(byteSend[5])控制方位數(shù)據(jù)低8位的數(shù)碼顯示;第七字節(jié)(byteSend[6])控制方位數(shù)據(jù)高8位的數(shù)碼顯示;第八字節(jié)(byteSend[7])控制“高限”、“低限”指示燈的亮滅;第九字節(jié)(byteSend[8])為開關(guān)按鈕的反饋數(shù)據(jù);第十字節(jié)(byteSend[9])為校驗和。如表2所示。

表2 虛擬天線軟件發(fā)送數(shù)據(jù)的字節(jié)表

圖4 8個開關(guān)按鈕與虛擬天線軟件交互的流程圖

串口發(fā)送時要對幀頭(byteSend[0]=0xEB和byte?Send[1]=0x90)、幀尾的校驗位進行判斷,如果判斷接收的數(shù)據(jù)幀頭和幀尾分別為十六進制的byteSend[0]=0xEB、byteSend[1]=0x90和byteSend[9]校驗和正確,則判斷為有效幀。若為有效幀,則分別讀取第三字節(jié)、第四字節(jié)、第五字節(jié)、第六字節(jié)、第七字節(jié)、第八字節(jié)和第九字節(jié)的數(shù)據(jù)。

當按下操縱臺上的8個開關(guān)按鈕時,軟件會接收五位幀結(jié)構(gòu)串口數(shù)據(jù)中的第二位,處理后軟件會發(fā)送十位幀結(jié)構(gòu)中的第三位和第九位,使相應(yīng)指示燈點亮。具體例程如下:

if(RecvData[0]==0x96)

{

byteSend[2]=0x90;

byteSend[8]=0x00;

ComSend();

}

if(RecvData[0]==0x95)

{

byteSend[2]=0x30;

byteSend[8]=0x00;

ComSend();

}

2.2 操縱臺上 2個天線控制旋鈕開關(guān)與虛擬天線軟件的交互

操縱臺上2個天線控制旋鈕開關(guān),即方位控制手輪和俯仰控制手輪,旋轉(zhuǎn)手輪發(fā)送相應(yīng)控制指令,經(jīng)RS-232串口送入虛擬天線軟件處理,處理后的信號經(jīng)RS-232串口返回操縱臺,控制面板的數(shù)碼管顯示器和“高限”、“低限”指示燈,具體流程如圖5所示:

(1)虛擬天線軟件接收串口信息

在接收數(shù)據(jù)的五個字節(jié)幀結(jié)構(gòu)中,第三字節(jié)(RecvData[3])為方位數(shù)據(jù),第四字節(jié)(RecvData[4])為俯仰數(shù)據(jù)。第三位的方位數(shù)據(jù)范圍為00~FF,以80為中間值,操縱方位手輪可以使天線方位順時針轉(zhuǎn)動或逆時針轉(zhuǎn)動。當天線方位順時針轉(zhuǎn)動時,數(shù)據(jù)取值范圍為80~FF,當天線方位逆時針轉(zhuǎn)動時,數(shù)據(jù)取值范圍為00~80。第四位俯仰數(shù)據(jù)范圍為00~FF,以80為中間值,操縱俯仰手輪可以使天線俯仰向抬頭向轉(zhuǎn)動和向低頭向轉(zhuǎn)動。當天線俯仰向抬頭向轉(zhuǎn)動時,數(shù)據(jù)取值范圍為80~FF,當天線俯仰向低頭向轉(zhuǎn)動時,數(shù)據(jù)取值范圍為00~80。此外,方位和俯仰數(shù)據(jù)在單位時間內(nèi)(串口一幀數(shù)據(jù)的通訊時間)的增量大小反映了天線轉(zhuǎn)速的大小,數(shù)據(jù)增速越大,表示天線轉(zhuǎn)速越快。

以天線面向屏幕為方位0度,水平為俯仰0度,將數(shù)據(jù)增量累加得到天線的角度數(shù)據(jù),方位角0~360度,俯仰角-8(352)~+86.8度。方位上連續(xù)轉(zhuǎn)動(N圈),俯仰上只在-8(352)~+86.8度范圍內(nèi)轉(zhuǎn)動。例程如下:

if(bXz==0x00||bXz==0x80)//不旋轉(zhuǎn)

fXzRate=0.0f;

else if(bXz> 0x80)//順時針旋轉(zhuǎn)

fXzRate=0.5f*((float)bXz-128.0f)/128.0f;

else if(bXz<0x80)//逆時針旋轉(zhuǎn),正好為0x80時不進行旋轉(zhuǎn)

fXzRate=((float)bXz-0.0f)/128.0f*(-1.0f);if(bFy==0x00||bFy==0x80)//不俯仰

fFyRate=0.0f;

else if(bFy>0x80)//抬頭向旋轉(zhuǎn)

fFyRate=0.5f*((float)bFy-128.0f)/128.0f;else if(bFy<0x80)//低頭向旋轉(zhuǎn)

fFyRate=((float)bFy-0.0f)/128.0f*(-1.0f);

(2)虛擬天線軟件發(fā)送串口信息

在虛擬天線軟件發(fā)送數(shù)據(jù)的十個字節(jié)的幀結(jié)構(gòu)中,第四字節(jié)(byteSend[3])為俯仰數(shù)據(jù)低8位,第五字節(jié)(byteSend[4])為俯仰數(shù)據(jù)高 8位,第六字節(jié)(byte?Send[5])為方位數(shù)據(jù)低 8 位,第七字節(jié)(byteSend[6])為方位數(shù)據(jù)高8位。用于控制操縱臺數(shù)碼管顯示此刻虛擬天線的方位、俯仰信息,使數(shù)碼管顯示的數(shù)據(jù)隨虛擬天線位置的變化而變化。

圖5 8個開關(guān)按鈕與虛擬天線軟件交互的流程圖

(3)控制高限、低限指示燈亮滅

當旋轉(zhuǎn)方位手輪時,會使天線繞z軸旋轉(zhuǎn),順時針旋轉(zhuǎn)角度減小,逆時針旋轉(zhuǎn)角度增加。方位旋轉(zhuǎn)角度為0~360度;當旋轉(zhuǎn)俯仰手輪時,會使天線繞x軸旋轉(zhuǎn),順時針旋轉(zhuǎn)角度減小,逆時針旋轉(zhuǎn)角度增加,俯仰旋轉(zhuǎn)角度為-8~86.8度。

當虛擬天線俯仰角度達到小于86.8度并且繼續(xù)旋轉(zhuǎn)俯仰手輪時,軟件會發(fā)送天線位置的串口信息,控制數(shù)碼管的數(shù)據(jù)顯示隨虛擬天線的變化而變化。當俯仰角度達到86.8度并且繼續(xù)俯仰旋轉(zhuǎn)時,會觸發(fā)軟件發(fā)送高限指令(byteSend[7]=0x33),控制高限指示燈點亮,控制數(shù)碼管的數(shù)據(jù)顯示定格在86.8度。同理,當虛擬天線俯仰角度達到-8度并且繼續(xù)旋轉(zhuǎn)俯仰手輪時,會觸發(fā)軟件發(fā)送低限指令(byteSend[7]=0x66),使低限指示燈亮,控制數(shù)碼管的數(shù)據(jù)顯示定格在-8度。如果角度沒有達到-8度或者86.8度,軟件發(fā)送數(shù)據(jù)的第七字節(jié)(byteSend[7]=0x00)會清零,控制高限或者低限的指示燈熄滅。

3 系統(tǒng)操作性能測試

系統(tǒng)操作性能測試主要包括操縱臺按鈕開關(guān)和指示燈對應(yīng)關(guān)系的測試、天線手輪和虛擬天線轉(zhuǎn)動關(guān)系的測試。采用串口調(diào)試助手觀察數(shù)據(jù)的通斷、變化等情況,如圖6所示。

圖6 數(shù)據(jù)測試串口調(diào)試助手界面

3.1 操縱臺按鈕開關(guān)和指示燈對應(yīng)關(guān)系的測試

當按下操縱臺的按鈕開關(guān)時,相應(yīng)的指示燈點亮,依次測試操縱臺上8個按鈕開關(guān)和8個指示燈之間的對應(yīng)關(guān)系。例如,當按下操縱臺俯仰“手輪控制”按鈕開關(guān)時,俯仰“手輪控制”指示燈點亮,此時虛擬天線俯仰受俯仰手輪控制。

3.2 天線手輪的測試

當手動順時針旋轉(zhuǎn)方位手輪,虛擬天線順時針旋轉(zhuǎn),同時操縱臺上方位數(shù)碼管顯示的天線位置信息不斷變小;當手動逆時針旋轉(zhuǎn)方位手輪,虛擬天線逆時針旋轉(zhuǎn),同時操縱臺上方位數(shù)碼管顯示的天線位置信息不斷變大,方位旋轉(zhuǎn)角度范圍為0~360度;當手動順時針旋轉(zhuǎn)俯仰手輪,虛擬天線向低頭向旋轉(zhuǎn),同時操縱臺上俯仰數(shù)碼管顯示的天線位置信息不斷變??;當手動逆時針旋轉(zhuǎn)俯仰手輪,虛擬天線向抬頭向旋轉(zhuǎn),同時操縱臺上俯仰數(shù)碼管顯示的天線位置信息不斷變大,俯仰旋轉(zhuǎn)角度范圍為-8~86.8度。旋轉(zhuǎn)手輪直至超過虛擬天線的俯仰旋轉(zhuǎn)角度范圍時,會觸發(fā)高、低限指示燈點亮,角度不再變化。

4 結(jié)語

本文主要研究了半實物無人機天線控制系統(tǒng)模擬器的設(shè)計,實現(xiàn)了實物天線控制組合與虛擬天線軟件的交互,解決了實物天線架設(shè)困難和場地約束的問題,可以在室內(nèi)進行學習。本系統(tǒng)在從天線手輪切換到操縱臺其他按鈕的過程中,有時會出現(xiàn)不靈敏的情況,原因在于系統(tǒng)數(shù)據(jù)處理不及時,響應(yīng)速度慢,今后會加以改善。

圖7 虛擬天線測試圖

猜你喜歡
指示燈模擬器字節(jié)
駕駛模擬器轉(zhuǎn)向系統(tǒng)的設(shè)計與研究
No.8 字節(jié)跳動將推出獨立出口電商APP
了不起的安檢模擬器
盲盒模擬器
劃船模擬器
一閃一閃亮晶晶淺析筆記本身上的指示燈
No.10 “字節(jié)跳動手機”要來了?
上海大眾POLO充電指示燈點亮
2013年波羅車充電指示燈異常點亮
人類進入“澤它時代”