張云,崔曉佳
(陸軍工程大學石家莊校區,石家莊 050003)
半實物;無人機;天線控制系統;模擬器
無人化是當今高技術、信息化戰場的發展趨勢之一,無人機在戰場感知、通信中繼、目標定位、精確打擊和毀傷評估方面的作用尤為突出。目前,在無人機教學中存在一些問題,影響了教學的效率。例如,無人機地面天線結構復雜,天線體及天線座的體積較大,需要空間展開,并且需要多席位協同操作,因此操作訓練只能在室外,受天氣、場地、人員等條件的限制。加之無人機裝備價格昂貴、配裝少,但學員人數多,導致學員課上裝備摸得少,課下裝備摸不著,學習訓練效率低。針對這一問題,本文實現了實物天線控制柜對虛擬天線的控制,并及時返回控制數據,采用Unity3D軟件對地面天線進行仿真建模,通過串口實現天線控制柜控制指令與虛擬天線動作的交互。利用該半實物無人機天線控制系統模擬器進行教學,方便學員單人練習和課下自學。
半實物無人機天線控制系統模擬器組成包括虛擬天線軟件和實物天線控制柜。以無人機地面天線實物為原型,利用建模軟件構建虛擬天線三維模型,然后將模型導入Unity3D引擎進行開發,實現虛擬天線對實物天線控制柜操作指令的響應與信息反饋。
半實物無人機天線控制系統模擬器系統流程分為實物天線控制柜操作指令數據發送流程、虛擬天線反饋數據接收流程,如圖1所示。

圖1 操作指令數據發送和反饋數據接收流程
半實物無人機天線控制系統模擬器虛擬天線采用Unity3D軟件實現,如圖2所示。
為了使虛擬天線能夠完全模擬實物天線的所有操作動作,我們構建模型時盡量細化,按照操作動作邏輯打包父子關系,如圖3所示。

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

表1 虛擬天線軟件接收數據的字節表

圖3 虛擬天線模型的父子關系
要實現虛擬天線與實物天線控制柜的數據交互,就要實現串口數據的接收、處理與發送。
實物操縱臺上設有8個開關按鈕,每個開關按鈕都有相應的指示燈。點擊這些開關按鈕發送相關指令,經RS-232串口送入虛擬天線軟件進行相應的處理,處理后的信號經RS-232串口返回操縱臺,使面板上相應的指示燈點亮,顯示該時刻虛擬天線的方位和俯仰數據,具體工作流程如圖4所示。
串口接收時要對幀頭、幀尾進行判斷,如果判斷接收的數據幀頭和幀尾分別為十六進制的7E和FF,則判斷為有效幀。若為有效幀,則分別讀取第二字節、第三字節和第四字節的數據。
(2)虛擬天線軟件發送數據
虛擬天線軟件對操縱臺發送的控制數據格式為:數據為16進制,每幀數據10個字節(從byteSend[0]到byteSend[9]),每字節 8 位。第一字節(byteSend[0])和第二字節(byteSend[1])為幀頭;第三字節(byteSend[2])為向操縱臺上8個開關按鈕的反饋數據;第四字節(by?teSend[3])控制俯仰數據低8位的數碼顯示;第五字節(byteSend[4])控制俯仰數據高8位的數碼顯示;第六字節(byteSend[5])控制方位數據低8位的數碼顯示;第七字節(byteSend[6])控制方位數據高8位的數碼顯示;第八字節(byteSend[7])控制“高限”、“低限”指示燈的亮滅;第九字節(byteSend[8])為開關按鈕的反饋數據;第十字節(byteSend[9])為校驗和。如表2所示。

表2 虛擬天線軟件發送數據的字節表

圖4 8個開關按鈕與虛擬天線軟件交互的流程圖
串口發送時要對幀頭(byteSend[0]=0xEB和byte?Send[1]=0x90)、幀尾的校驗位進行判斷,如果判斷接收的數據幀頭和幀尾分別為十六進制的byteSend[0]=0xEB、byteSend[1]=0x90和byteSend[9]校驗和正確,則判斷為有效幀。若為有效幀,則分別讀取第三字節、第四字節、第五字節、第六字節、第七字節、第八字節和第九字節的數據。
當按下操縱臺上的8個開關按鈕時,軟件會接收五位幀結構串口數據中的第二位,處理后軟件會發送十位幀結構中的第三位和第九位,使相應指示燈點亮。具體例程如下:
if(RecvData[0]==0x96)
{
byteSend[2]=0x90;
byteSend[8]=0x00;
ComSend();
}
if(RecvData[0]==0x95)
{
byteSend[2]=0x30;
byteSend[8]=0x00;
ComSend();
}
操縱臺上2個天線控制旋鈕開關,即方位控制手輪和俯仰控制手輪,旋轉手輪發送相應控制指令,經RS-232串口送入虛擬天線軟件處理,處理后的信號經RS-232串口返回操縱臺,控制面板的數碼管顯示器和“高限”、“低限”指示燈,具體流程如圖5所示:
(1)虛擬天線軟件接收串口信息
在接收數據的五個字節幀結構中,第三字節(RecvData[3])為方位數據,第四字節(RecvData[4])為俯仰數據。第三位的方位數據范圍為00~FF,以80為中間值,操縱方位手輪可以使天線方位順時針轉動或逆時針轉動。當天線方位順時針轉動時,數據取值范圍為80~FF,當天線方位逆時針轉動時,數據取值范圍為00~80。第四位俯仰數據范圍為00~FF,以80為中間值,操縱俯仰手輪可以使天線俯仰向抬頭向轉動和向低頭向轉動。當天線俯仰向抬頭向轉動時,數據取值范圍為80~FF,當天線俯仰向低頭向轉動時,數據取值范圍為00~80。此外,方位和俯仰數據在單位時間內(串口一幀數據的通訊時間)的增量大小反映了天線轉速的大小,數據增速越大,表示天線轉速越快。
以天線面向屏幕為方位0度,水平為俯仰0度,將數據增量累加得到天線的角度數據,方位角0~360度,俯仰角-8(352)~+86.8度。方位上連續轉動(N圈),俯仰上只在-8(352)~+86.8度范圍內轉動。例程如下:
if(bXz==0x00||bXz==0x80)//不旋轉
fXzRate=0.0f;
else if(bXz> 0x80)//順時針旋轉
fXzRate=0.5f*((float)bXz-128.0f)/128.0f;
else if(bXz<0x80)//逆時針旋轉,正好為0x80時不進行旋轉
fXzRate=((float)bXz-0.0f)/128.0f*(-1.0f);if(bFy==0x00||bFy==0x80)//不俯仰
fFyRate=0.0f;
else if(bFy>0x80)//抬頭向旋轉
fFyRate=0.5f*((float)bFy-128.0f)/128.0f;else if(bFy<0x80)//低頭向旋轉
fFyRate=((float)bFy-0.0f)/128.0f*(-1.0f);
(2)虛擬天線軟件發送串口信息
在虛擬天線軟件發送數據的十個字節的幀結構中,第四字節(byteSend[3])為俯仰數據低8位,第五字節(byteSend[4])為俯仰數據高 8位,第六字節(byte?Send[5])為方位數據低 8 位,第七字節(byteSend[6])為方位數據高8位。用于控制操縱臺數碼管顯示此刻虛擬天線的方位、俯仰信息,使數碼管顯示的數據隨虛擬天線位置的變化而變化。

圖5 8個開關按鈕與虛擬天線軟件交互的流程圖
(3)控制高限、低限指示燈亮滅
當旋轉方位手輪時,會使天線繞z軸旋轉,順時針旋轉角度減小,逆時針旋轉角度增加。方位旋轉角度為0~360度;當旋轉俯仰手輪時,會使天線繞x軸旋轉,順時針旋轉角度減小,逆時針旋轉角度增加,俯仰旋轉角度為-8~86.8度。
當虛擬天線俯仰角度達到小于86.8度并且繼續旋轉俯仰手輪時,軟件會發送天線位置的串口信息,控制數碼管的數據顯示隨虛擬天線的變化而變化。當俯仰角度達到86.8度并且繼續俯仰旋轉時,會觸發軟件發送高限指令(byteSend[7]=0x33),控制高限指示燈點亮,控制數碼管的數據顯示定格在86.8度。同理,當虛擬天線俯仰角度達到-8度并且繼續旋轉俯仰手輪時,會觸發軟件發送低限指令(byteSend[7]=0x66),使低限指示燈亮,控制數碼管的數據顯示定格在-8度。如果角度沒有達到-8度或者86.8度,軟件發送數據的第七字節(byteSend[7]=0x00)會清零,控制高限或者低限的指示燈熄滅。
系統操作性能測試主要包括操縱臺按鈕開關和指示燈對應關系的測試、天線手輪和虛擬天線轉動關系的測試。采用串口調試助手觀察數據的通斷、變化等情況,如圖6所示。

圖6 數據測試串口調試助手界面
當按下操縱臺的按鈕開關時,相應的指示燈點亮,依次測試操縱臺上8個按鈕開關和8個指示燈之間的對應關系。例如,當按下操縱臺俯仰“手輪控制”按鈕開關時,俯仰“手輪控制”指示燈點亮,此時虛擬天線俯仰受俯仰手輪控制。
當手動順時針旋轉方位手輪,虛擬天線順時針旋轉,同時操縱臺上方位數碼管顯示的天線位置信息不斷變??;當手動逆時針旋轉方位手輪,虛擬天線逆時針旋轉,同時操縱臺上方位數碼管顯示的天線位置信息不斷變大,方位旋轉角度范圍為0~360度;當手動順時針旋轉俯仰手輪,虛擬天線向低頭向旋轉,同時操縱臺上俯仰數碼管顯示的天線位置信息不斷變小;當手動逆時針旋轉俯仰手輪,虛擬天線向抬頭向旋轉,同時操縱臺上俯仰數碼管顯示的天線位置信息不斷變大,俯仰旋轉角度范圍為-8~86.8度。旋轉手輪直至超過虛擬天線的俯仰旋轉角度范圍時,會觸發高、低限指示燈點亮,角度不再變化。
本文主要研究了半實物無人機天線控制系統模擬器的設計,實現了實物天線控制組合與虛擬天線軟件的交互,解決了實物天線架設困難和場地約束的問題,可以在室內進行學習。本系統在從天線手輪切換到操縱臺其他按鈕的過程中,有時會出現不靈敏的情況,原因在于系統數據處理不及時,響應速度慢,今后會加以改善。

圖7 虛擬天線測試圖