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