以VC++為基礎(chǔ)導(dǎo)航控制臺仿真軟件的開發(fā)研究
摘要:在無人機(jī)自主飛行當(dāng)中,無人機(jī)地面站的導(dǎo)航控制系統(tǒng)發(fā)揮著重要作用。本文將編輯狀態(tài)下導(dǎo)航控制臺仿真軟件的開發(fā)作為著重點(diǎn),平臺為Windows操作系統(tǒng),借助VisualC++這一工具來進(jìn)行開發(fā),并對其功能作一論述。
關(guān)鍵詞:VC++;導(dǎo)航控制臺;仿真
伴隨無人機(jī)在各領(lǐng)域中的廣泛應(yīng)用,控制系統(tǒng)各項(xiàng)功能在新技術(shù)的推動(dòng)下,日漸完善與發(fā)展。在整個(gè)無人機(jī)系統(tǒng)當(dāng)中,地面站作為其“神經(jīng)中樞”,由傳輸系統(tǒng)、導(dǎo)航臺及飛行控制臺等構(gòu)成。整個(gè)系統(tǒng)借助高速網(wǎng)卡、集線器對導(dǎo)航控制臺進(jìn)行有效控制,并連接于外部的監(jiān)測機(jī)。如此一來,便能夠使將飛行控制臺與導(dǎo)航控制臺充分連接起來,實(shí)現(xiàn)數(shù)據(jù)共享。針對導(dǎo)航控制臺來講,其乃是整個(gè)地面站導(dǎo)航系統(tǒng)當(dāng)中的核心部分,主要借助其來對飛行控制臺所發(fā)送的數(shù)據(jù)進(jìn)行接收,以此來為無人機(jī)提供導(dǎo)航。本文基于VC++技術(shù),就導(dǎo)航控制臺仿真軟件的開發(fā)策略作一探討。
1.明確經(jīng)緯度信息,規(guī)劃于存儲航路點(diǎn)
1.1明確經(jīng)緯度信息數(shù)據(jù)
為了提高飛行的準(zhǔn)確性,明確經(jīng)緯度信息尤為重要。此導(dǎo)航臺的導(dǎo)航地圖所選用的是某城市的電子地圖(1:500000),且用位圖格式(*.bmp)。依據(jù)此城市的經(jīng)緯度信息。首先,以VC++為基礎(chǔ),構(gòu)建一個(gè)MFC工程,且于view文件的頭文件當(dāng)中的2個(gè)浮點(diǎn)類型的公共變量X0與Y0,將其當(dāng)作基準(zhǔn)點(diǎn)的經(jīng)緯度坐標(biāo),且將其初始值設(shè)定為Y0為38,X0為116。得出latScale、longScale這兩個(gè)變量,然后用于代表地圖打開時(shí)經(jīng)緯度的具體范圍。其中,事先設(shè)定好的地圖打開范圍為X方向的最大打開范圍為120km,Y方向?yàn)?0km。基于view文件的頭文件中,設(shè)置一個(gè)對象oomrc(CRect類)。因需顯示經(jīng)緯度信息,因此,需要轉(zhuǎn)換地圖坐標(biāo)與視圖坐標(biāo),最后,利用響應(yīng)WMMOUSEMOVE句柄,同時(shí)借助狀態(tài)條指針CStatusBar*pStatus,從中得到經(jīng)緯度信息,最終便能在狀態(tài)欄位置,將經(jīng)緯度信息顯示出來。
1.2規(guī)劃與存儲航路點(diǎn)
在整個(gè)導(dǎo)航控制臺中,航路點(diǎn)的規(guī)劃部分為其核心構(gòu)成,對于無人機(jī)航路規(guī)劃而言,依據(jù)任務(wù)目標(biāo)規(guī)劃,來最大程度滿足約束條件的飛行軌跡,規(guī)劃的最終目的時(shí)在比較合適的時(shí)間內(nèi),將最優(yōu)的飛行軌跡給計(jì)算出來。因鼠標(biāo)移動(dòng)便能于狀態(tài)欄下,觀察到經(jīng)緯度信息,因此,在地圖上,可通過鼠標(biāo)操作,來規(guī)劃航路點(diǎn),如此一來,便能夠提升系統(tǒng)的可操作性。針對航路點(diǎn)的規(guī)劃部分而言,其有如下步驟:其一為畫航線,基于view文件,從中借助Ondraw部分,通過對設(shè)備類指針CDC*pDC進(jìn)行定義,來對其LineTo、MoveTo進(jìn)行調(diào)用,將航線畫出來,然后利用畫筆(白色)、畫刷(紅色),所產(chǎn)生的航路點(diǎn)為紅色圓形背景,最后,通過操作鼠標(biāo),在視圖中進(jìn)行航路點(diǎn)的規(guī)劃。其二,結(jié)束畫線,借助view的頭文件當(dāng)中,設(shè)置公共變量startdrawline(bool類型),用其對畫線是否執(zhí)行加以控制。若是真,則表明開始畫線,若是假,則表明畫線結(jié)束。因此,在WMRBUTTONDOWN得到響應(yīng)后,把此值設(shè)定為假,也就是結(jié)束畫線。在操作過程中,便能點(diǎn)擊鼠標(biāo)右鍵,畫線結(jié)束。
2.基于VC++下實(shí)現(xiàn)分隔視圖即嵌入儀表
2.1實(shí)現(xiàn)分隔視圖
為了能夠?qū)︼w機(jī)的飛行施加準(zhǔn)確控制,在設(shè)計(jì)過程中,特別加入了儀表顯示?;赩C++的技術(shù)支撐下,借助分隔視圖來最終達(dá)成。本文分別對兩個(gè)可浮動(dòng)且能夠變換大小的控制窗口進(jìn)行了設(shè)計(jì),分別位于左邊與下面。對于左邊部分來講,其用于儀表盤的顯示,而下面則用作操作儀表的顯示,游標(biāo)用作導(dǎo)航地圖窗口的顯示。在此工程文件當(dāng)中,添加了兩個(gè)*.cpp文件,并且在stdafx.h文件當(dāng)中,還根據(jù)實(shí)際需要,加入了#include"scbarg.h"與include"sizecbar.h",此事,便會有一個(gè)CCoolBar類產(chǎn)生。
2.2嵌入儀表
當(dāng)將分隔視圖創(chuàng)建好之后,需于左側(cè),將儀表嵌入,然后將能夠操作儀表的按鈕嵌入。利用GLStudio軟件來完成儀表創(chuàng)建,針對此軟件而言,其實(shí)為一個(gè)帶有一定獨(dú)立性的快速原型工具,主要用作三維、實(shí)時(shí)的圖像界面的創(chuàng)建。其可以連接于LA/DIS仿真應(yīng)用;另外,其所生成的OpenGL與C++源代碼,能夠單獨(dú)運(yùn)行,還能根據(jù)實(shí)際需要,將其嵌入到其它應(yīng)用當(dāng)中。本系統(tǒng)的界面要對真實(shí)飛機(jī)坐艙當(dāng)中的各種顯示儀表進(jìn)行模擬,所以,在該系統(tǒng)當(dāng)中,制作了航向表、高度表、地平儀與速度表,完成制作后,將其集成于一個(gè)可執(zhí)行文件當(dāng)中。在VC++的程序當(dāng)中,僅需將嵌入儀表啟動(dòng)便可。
3.飛控臺與導(dǎo)航臺之間的通信
飛行控制臺將飛行器的位置信息發(fā)送至導(dǎo)航控制臺,其內(nèi)容主要為高度、經(jīng)緯度信息、航路點(diǎn)等。對于導(dǎo)航控制臺來講,其將此些信息處理后,將導(dǎo)航指令解算出來,且借助TCP/IP網(wǎng)絡(luò),向飛行控制臺發(fā)送。針對此時(shí)的飛行控制臺來講,會把所接收到的此些指令數(shù)據(jù)與飛行控制指令相結(jié)合,借助UDP協(xié)議,向傳輸系統(tǒng)發(fā)送。因此,基于飛行控制臺與導(dǎo)航控制臺之間的通信來講,尤為重要。本文僅將導(dǎo)航臺不僅是客戶端而且還是服務(wù)器端的情況給顯示出來,即自發(fā)自收情況。在對航路點(diǎn)進(jìn)行設(shè)置的對話框當(dāng)中,將網(wǎng)絡(luò)編程部分的按鈕加入,且將編輯框加入。相似于普通的網(wǎng)絡(luò)編程,均以TCP/IP協(xié)議為基礎(chǔ),且選用基于C/S模式下的新型套接字編程,需要指出的是,客戶端與服務(wù)器如果為自身,那么在網(wǎng)絡(luò)通信時(shí),其中的監(jiān)聽部分需進(jìn)行線程控制,且在此線程當(dāng)中,主要對接受部分的內(nèi)容施加控制,把發(fā)送部分的內(nèi)容輸入到既定的按鈕當(dāng)中。
4.結(jié)語
綜上,設(shè)計(jì)此導(dǎo)航控制臺仿真軟件,可以較好的滿足編輯狀態(tài)下的各種功能,為地面站相關(guān)操作人員工作提供方便,使其更好的規(guī)劃航路點(diǎn),且進(jìn)行修改,并存儲數(shù)據(jù);除此之外,還能實(shí)現(xiàn)與飛行控制臺之間的數(shù)據(jù)共享,以此來更好的操作儀表,更加準(zhǔn)確、及時(shí)的控制飛機(jī)飛行。
參考文獻(xiàn)
[1]羅廣孝.基于VC++的模擬集成電路設(shè)計(jì)實(shí)驗(yàn)仿真工具開發(fā)[J].實(shí)驗(yàn)室科學(xué),2007(6):89-91.
[2]陳啟香.基于VC++的計(jì)算機(jī)聯(lián)鎖系統(tǒng)仿真軟件的研究[J].自動(dòng)化與儀器儀表,2016(3):177-180.
[3]陳澤強(qiáng),崔穎昕,曹葉文.基于VC++的通信原理實(shí)驗(yàn)仿真軟件設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2001,21(2):23-25.
作者白強(qiáng)崔勝彪
《以VC++為基礎(chǔ)導(dǎo)航控制臺仿真軟件的開發(fā)研究》
- 職稱論文刊發(fā)主體資格的
- 政法論文淺析工會法主體
- 化學(xué)在初中教學(xué)中的情感
- 中學(xué)教育論文思想政治方
- 法治論文投稿法治型市場
- 雜志社論文發(fā)表淺析推動(dòng)
- 新疆教育報(bào)投稿淺析學(xué)生
- 分男女招生錄取的合憲性
最新優(yōu)質(zhì)論文
- 職稱論文發(fā)表可靠網(wǎng)站有
- 河南群眾文化類職稱評審
- 音樂課老師晉升職稱必須
- 知網(wǎng)能免費(fèi)下載論文嗎
- 水利水電工程師職稱論文
- 膜分離相關(guān)論文發(fā)表期刊
- 環(huán)境工程晉升高級職稱條
- 寫高職英語教育的論文怎
論文發(fā)表問題熱點(diǎn)
- 泥泵磨損論文適合哪些期
- 工程師中級職稱評審條件
- 學(xué)術(shù)期刊規(guī)范化需要注意
- 會計(jì)畢業(yè)論文職稱論文準(zhǔn)
- 自考本科論文格式要求
- 中醫(yī)藥論文準(zhǔn)備常見問題
- 哪能咨詢發(fā)表論文期刊的
- 發(fā)表論文必須本省的期刊