王林林 付曉強
摘 要:通常在無人機的飛行中,能夠?qū)崟r的反應(yīng)無人機的信息,針對上述情況研制了一種簡單的無人機地面站軟件,以Windows操作系統(tǒng)為平臺,在Visual C ++環(huán)境下設(shè)計實現(xiàn)的,實現(xiàn)了計算機對無人機的實時顯示。實踐證明,該系統(tǒng)測量精度高、穩(wěn)定性好、抗干擾性強,具有一定的應(yīng)用前景和使用價值。
關(guān)鍵詞:無人機 地面站 實時 硬件設(shè)計
中圖分類號:TP79 文獻標(biāo)識碼:A 文章編號:1672-3791(2014)10(a)-0004-02
無人機不僅在軍事上得到了廣泛的應(yīng)用,而且在民用方面也得到了普遍重視。隨著計算機技術(shù)的發(fā)展,利用計算機的軟、硬件,建立有關(guān)無人機的飛行、控制以及評估的仿真系統(tǒng)已經(jīng)成為各國的共識。而以往的飛行仿真中,得到的結(jié)果都是大量的數(shù)據(jù)或曲線,不具有直觀性??梢暬夹g(shù)的出現(xiàn),使得仿真結(jié)果不再單調(diào),甚至人們可以與計算機進行直接交互,對虛擬世界中具有形體的信息進行操作,實現(xiàn)了人、機合一?!盁o人機地面站”正是運用計算機圖形學(xué)知識結(jié)合現(xiàn)代計算機仿真技術(shù)實現(xiàn)的仿真系統(tǒng),它為地面人員提供了一個形象的、虛擬的飛行界面,用于顯示無人機的各種飛行參數(shù),更加方便地實現(xiàn)地面人員對無人機的控制。
1 平臺總體構(gòu)架設(shè)計
系統(tǒng)主要由軟件部分和硬件部分組成,整體框圖如圖1所示。
2 硬件部分
硬件部分主要是地面與無線電臺的連接電路、GPS與無線電臺的連接電路兩部分組成。
2.1 地面與無線電臺連接部分的硬件設(shè)計
地面與無線電臺連接部分是設(shè)計的重要組成部分,它將空中的定位數(shù)據(jù)經(jīng)數(shù)傳電臺傳給電腦,是地面數(shù)據(jù)能否準(zhǔn)確的傳輸并進行顯示的關(guān)鍵。地面與無線電臺連接部分的硬件設(shè)計如圖2所示。
2.2 GPS與無線電臺連接部分的硬件設(shè)計
將GPS與數(shù)傳模塊相連,GPS定位數(shù)據(jù)通過數(shù)傳模塊經(jīng)天線傳給地面是數(shù)據(jù)數(shù)據(jù)傳輸?shù)闹匾M成部分。GPS與無線電臺連接部分的硬件設(shè)計如圖3所示。
3 無人機地面站的軟件設(shè)計
軟件部分主要是無人機處于無人飛行時,GPS接收機不斷地把GPS定位信息通過數(shù)傳電臺經(jīng)天線再經(jīng)串口傳送到PC機中并進行顯示。對串行口的操作一般可分為4個步驟。
(1)串口的初始化。
(2)接收ASCII碼信息。
(3)將信息轉(zhuǎn)化并傳遞給程序中的變量。
(4)關(guān)閉串行口。
本系統(tǒng)采用的是“$GPRMC”的定位數(shù)據(jù)。由于接收機不斷地向主機發(fā)送各種數(shù)據(jù)幀,所以在處理時一般先通過對幀頭的判斷,實際上只對“$GPRMC”幀進行數(shù)據(jù)的提取處理。根據(jù)程序設(shè)計方案,畫出主程序流程圖如圖4所示。由于GPS定位信息內(nèi)容較少,因此多用RS232串口將定位信息(NEMA0183碼)從GPS接收機傳送到計算機中進行信息提取處理。MSComm控件不僅提供了功能完善的串口數(shù)據(jù)接受功能,而且它的事件驅(qū)動方式是一種功能強大的處理串行通信方式。下面是MSComm控件OnComm事件程序。
if(m_comm.GetCommEvent()==2)//接收區(qū)中有數(shù)據(jù)
{m_input1=m_comm.GetInput();//讀取數(shù)據(jù)
m_input2=m_input1;//將VARIANT 型變量轉(zhuǎn)換為COleSafeArray型數(shù)據(jù)
length=m_input2.GetOneDimSize();//確定數(shù)據(jù)長度
CString s[1024];
int j=0;
for(i=0;i {m_input2.GetElement(&i,data+i); BYTE a=*(char*)(data+i); str.Format("%c",a); s[i]=str;} 同其他通信協(xié)議類似,根據(jù)幀結(jié)構(gòu)可完成對各GPS定位信息的提取。運行結(jié)果如圖5所示。 4 結(jié)論 該文以Windows操作系統(tǒng)為平臺,開發(fā)了一個以VisualC++6.0為核心的無人機地面站,可實現(xiàn)無人機飛行的實時顯示。通過整機聯(lián)調(diào)驗證了系統(tǒng)的可行性,能滿足設(shè)計要求,達到設(shè)計的指標(biāo),無論在軍事上還是在我們的日常生產(chǎn)中此系統(tǒng)都起著不可替代的作用。 參考文獻 [1] 劉銳寧.Visual C++開發(fā)實戰(zhàn)1200例[M].北京:清華大學(xué)出版社,2011. [2] 謝礎(chǔ).航空航天技術(shù)概論[M].2版.北京:北京航空航天出版社,2008. [3] 明日科技.Visual C++從入門到精通[M].北京:清華大學(xué)出版社,2012.