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

?

四旋翼無人機(jī)地面站軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2020-06-04 09:39金強(qiáng)方春華戚文杰
計(jì)算機(jī)時(shí)代 2020年5期
關(guān)鍵詞:遙控器線程串口

金強(qiáng) 方春華 戚文杰

摘? 要: 針對(duì)我校無人機(jī)應(yīng)用專業(yè)學(xué)生操作無人機(jī)能力強(qiáng)而對(duì)地面站的實(shí)現(xiàn)原理理解不夠深入的情況,以四旋翼無人機(jī)地面站為對(duì)象,以Qt5.4為開發(fā)平臺(tái),分別對(duì)地面站串口通訊、飛機(jī)虛擬儀表、地圖瀏覽器、航點(diǎn)規(guī)劃,以及數(shù)據(jù)存儲(chǔ)等進(jìn)行了設(shè)計(jì),較完整地實(shí)現(xiàn)了地面站的各項(xiàng)功能。此設(shè)計(jì)具有一定的實(shí)用性,有助于加強(qiáng)學(xué)生對(duì)地面站實(shí)現(xiàn)原理的理解,提高他們的學(xué)習(xí)興趣,為將來從事無人機(jī)工作夯實(shí)基礎(chǔ)。

關(guān)鍵詞: Qt; 無人機(jī); 地面站; 系統(tǒng)設(shè)計(jì)

Abstract: Aiming at the phenomenon that the students of drone application specialty have strong ability to operate drones, but do not have a deep understanding of the ground station's implementation principles, this paper takes the quad-rotor UAV ground station as the design object and uses Qt5.4 as the development platform, to design the serial communication, aircraft virtual instrumentation, map browser, waypoint planning and data storage etc. of a ground station, which? realizes the most functions of the ground station. The design is practical, and is helpful to students' understanding of the ground station implementation principles and their learning interest, which lays the foundation for the future UAV work.

Key words: Qt; UAV; ground station; system design

0 引言

近年來,我國(guó)無人機(jī)產(chǎn)業(yè)日趨火熱,小到航空攝影、航空測(cè)繪,大到農(nóng)業(yè)植保、電力巡查、軍警偵查等領(lǐng)域,無人機(jī)的應(yīng)用越來越普及,于此同時(shí),無人機(jī)地面站的發(fā)展也與時(shí)俱進(jìn),從美、俄等無人機(jī)發(fā)達(dá)國(guó)家發(fā)展現(xiàn)狀和趨勢(shì)來看,無人機(jī)地面站正朝著通用化、智能化、單站多機(jī)的方向發(fā)展。

無人機(jī)地面控制站軟件技術(shù)是一項(xiàng)融合了圖像處理、地理信息系統(tǒng)、數(shù)據(jù)傳輸與處理,以及先進(jìn)控制等多種尖端技術(shù)為一體的先進(jìn)技術(shù)[1]。目前多數(shù)地面站品牌間不通用,不能跨平臺(tái),導(dǎo)致在實(shí)際使用上產(chǎn)生諸多不便,考慮到Qt軟件在圖形界面開發(fā)上的優(yōu)勢(shì),可實(shí)現(xiàn)“一次編寫,隨處編譯”[2],能在幾乎所有的操作系統(tǒng)上運(yùn)行,本文以Qt5.4為開發(fā)平臺(tái)、以四軸無人機(jī)地面控制站主要功能的實(shí)現(xiàn)為目標(biāo),通過完成設(shè)計(jì),加強(qiáng)了我校無人機(jī)專業(yè)學(xué)生對(duì)地面站實(shí)現(xiàn)方法的理解,提高了他們的學(xué)習(xí)興趣,為將來從事無人機(jī)工作夯實(shí)了基礎(chǔ),具有一定的實(shí)用性。

1 地面站總體設(shè)計(jì)

地面站布局如圖1所示,主要由五個(gè)模塊組成:①地面站與無人機(jī)或遙控器串口通訊模塊;②地圖顯示模塊;③航點(diǎn)信息模塊;④狀態(tài)顯示模塊;⑤數(shù)據(jù)存儲(chǔ)模塊。本文將圍繞五大功能模塊進(jìn)行詳細(xì)設(shè)計(jì)。

1.1 通訊模塊設(shè)計(jì)

無人機(jī)與地面站實(shí)現(xiàn)通訊,有以下幾種方案:①無人機(jī)使用USB線和地面站進(jìn)行串口通訊;②無人機(jī)通過無線電臺(tái)與地面站進(jìn)行無線通訊;③無人機(jī)通過WIFI與地面站進(jìn)行無線通訊等。本設(shè)計(jì)采用如圖2所示的架構(gòu),四軸和遙控器分別通過UsbLink鏈路與地面站通訊,遙控器與四軸之間通過無線RadioLink鏈路進(jìn)行通訊,本文重點(diǎn)介紹UsbLink鏈路的通信設(shè)計(jì)。

⑴ 串口鏈路(UsbLink)數(shù)據(jù)幀格式

RadioLink鏈路主要是實(shí)現(xiàn)遙控器將地面站發(fā)送的命令轉(zhuǎn)發(fā)給四軸,同時(shí)將四軸的姿態(tài)信息上傳到地面站,四軸平時(shí)由遙控器進(jìn)行飛行控制,UsbLink鏈路采用虛擬串口通信方式,傳輸含幀頭和校驗(yàn)位的數(shù)據(jù)包,其數(shù)據(jù)幀格式如表1所示。

⑵ 串口線程的創(chuàng)建及數(shù)據(jù)解析

線程也被稱為“輕量級(jí)進(jìn)程”,一個(gè)線程只有一個(gè)內(nèi)核對(duì)象和一個(gè)棧,所需內(nèi)存比較少,所以在編程時(shí)經(jīng)常采用多線程技術(shù)來處理實(shí)際問題,從而避免因創(chuàng)建新進(jìn)程而帶來的系統(tǒng)資源消耗問題[3],本設(shè)計(jì)通過Qt的run()函數(shù)創(chuàng)建串口子線程的方法來實(shí)現(xiàn)串口收發(fā)數(shù)據(jù),從串口線程內(nèi)發(fā)出的信號(hào),可以與主線程(UI界面)中的槽函數(shù)進(jìn)行連接,從而可以在主線程中對(duì)數(shù)據(jù)進(jìn)行處理。由于Qt5.4已集成了串口通信類QSerialPort和QSerialPortInfo,前者提供了操作串口的各種接口,后者提供了計(jì)算機(jī)中可用串口的各種信息,通過創(chuàng)建類的對(duì)象和方法很容易實(shí)現(xiàn)串口通信,串口子線程創(chuàng)建代碼如下:

程序通過start()函數(shù)啟動(dòng)線程,在線程中既可以通過創(chuàng)建一個(gè)定時(shí)器信號(hào)(心跳程序)來連接槽函數(shù)讀取數(shù)據(jù),也可以在線程中通過創(chuàng)建串口對(duì)象myCom信號(hào)來連接槽函數(shù)讀取數(shù)據(jù),方法如下:

從串口讀取數(shù)據(jù)后,通過先創(chuàng)建一個(gè)Data_Receive_Prepare函數(shù)來預(yù)解析數(shù)據(jù),將讀取的數(shù)據(jù)進(jìn)行一次格式解析,格式正確后再創(chuàng)建Data_Receive函數(shù)來解析數(shù)據(jù),函數(shù)中的參數(shù)就是符合協(xié)議格式的一個(gè)數(shù)據(jù)幀,以下是一行從地面站串口截取到的數(shù)據(jù):

按照協(xié)議,開頭0xAA兩字節(jié)表示接受數(shù)據(jù),01表示功能字,代表采集的數(shù)據(jù)是飛機(jī)姿態(tài)信息,0C表示數(shù)據(jù)的長(zhǎng)度為12個(gè)字節(jié),其中0xFFEB兩個(gè)字節(jié)代表ROL,0xFFCA代表PIT,0x0D6C代表YAW,0x000002代表飛行相對(duì)高度,0x61代表飛行模式,0x0000代表加鎖、解鎖,求(0xAA+…+0x61+..0x00)之和為0x5F0,取低8位0xF0,正好等于最末一個(gè)字節(jié),表示校驗(yàn)和正確。

猜你喜歡
遙控器線程串口
我是“糊涂蟲”
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
時(shí)間遙控器
爸媽有個(gè)“遙控器”
淺談linux多線程協(xié)作
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
基于上下文定界的Fork/Join并行性的并發(fā)程序可達(dá)性分析*
Linux線程實(shí)現(xiàn)技術(shù)研究