999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Qt的系留多旋翼無人機地面站軟件設計與實現

2023-07-20 23:26:45孫美娟鄒天宇馬靖
無線互聯科技 2023年9期
關鍵詞:指令界面信息

孫美娟 鄒天宇 馬靖

摘要:系留多旋翼無人機在多旋翼無人機的基礎上增加了系留線纜,使其可以通過地面電源直接供電,解決了多旋翼無人機續航時間短的問題。對此,文章以Qt5.14.2為開發平臺,開發了一套功能完整、操作簡潔的系留多旋翼無人機地面站軟件系統。該系統實現了對無人機遙測數據實時顯示、遙測指令發送、故障報警提示、電子地圖顯示、搭載不同載荷、數據存儲和回放等功能。經過多次實際飛行測試,驗證了系統功能的可靠性、完整性及可移植性。

關鍵詞:系留多旋翼;無人機;Qt;地面站軟件

中圖分類號:TP18

文獻標志碼:A

0 引言

系留多旋翼無人機在傳統無人機技術上增加了系留線纜系統,既可采用自身攜帶的備用電池進行供電,也可通過地面線纜系統向無人機供電,實現為無人機提供長期、不間斷的電力動力,從而實現無人機長時間滯空1-2。與普通多旋翼無人機相比,系留多旋翼無人機解決了其續航時間短、動力不足等缺陷,能夠廣泛應用于應急救災、電磁監控等民用領域,同時也在軍事領域發揮重要作用3-4

本文是基于Qt5.14.2開發環境進行的無人機地面站軟件開發,使用C++語言編程,可實現“一次編寫,隨處編譯”,支持程序在Windows和Linux平臺下運行,有利于國產化的推廣5

1 軟件需求與功能設計

1.1 軟件需求

本軟件主要適用于某項目系留多旋翼無人機的控制,軟件需滿足如下設計需求:

(1)能夠控制無人機及載荷狀態,實時顯示無人機飛行狀態信息及載荷狀態信息;(2)對接收到的異常數據進行報警提示;(3)加載電子地圖并在地圖上顯示定位信息及飛行軌跡信息;(4)支持搭載不同類型載荷;(5)支持對接收的飛行數據及載荷數據進行存儲及回放。

1.2 功能設計

根據上述需求,系統功能采用模塊化設計,軟件主要功能如圖1所示。

2 通信模塊

通信模塊的實現是通過UDP協議下的Socket網絡編程實現的。UDP通信是無連接型的,相比于TCP具有更高的傳輸速率。通常在傳輸圖像信息、信號信息等大數據量或周期性的數據時采用UDP傳輸,因為傳輸過程中即使偶爾丟一兩包數據,也不影響結果的可靠性。

2.1 發送遙控指令

遙控指令的發送采用UDP組播的形式,每條指令由數據頭、有效長度、消息ID、指令數據、校驗字組成。遙控指令主要包括控制無人機起飛前的檢查指令、起飛指令、飛行中的控制指令、降落指令等。其中,起飛前檢查包括電機檢測、磁校準、電機轉動、參數設置等指令;飛行過程中包括對無人機的高度、航向、飛行時間等的規劃指令。

操作人員可以隨時單擊地面站軟件上的指令按鈕向無人機發送相應指令,但無人機的安全飛行對指令的發送有其內在的邏輯要求。因此,發送遙控指令最大的難點在于如何實現大量指令的合理發送。這需要根據系留多旋翼無人機的特點,了解其內部操作邏輯,既能滿足研制要求,也符合無人機安全飛行原則。比如:發送起飛指令的前提是需先成功發送解鎖指令,使飛機達到解鎖狀態;而發送解鎖指令的前提需先成功發送自檢指令,完成無人機起飛前的檢查。

2.2 接收遙測數據

實現對遙測數據的接收和解析是地面站軟件的核心功能之一,無人機通過機載數據鏈路將采集的飛行信息和載荷狀態信息等數據發送到地面的數據鏈路接收裝置,地面鏈路再將接收的數據傳送到地面站軟件。軟件接收到數據后,不能直接發送到界面顯示,需要先按照指定協議校驗,校驗通過再進行解析、運算以及邏輯處理,將數據顯示到界面6。接收遙測數據的代碼如下。

(1)使用QUdpSocket,創建組播對象。

QUdpSocket* udpYKGroup;

udpYKGroup = new QUdpSocket(this);

(2)綁定IP和端口。

bool YKret = udpYKGroup->

bind(QHostAddress(localIP),YK_Port, QUdpSocket::ShareAddress|QUdpSocket::ReuseAddressHint); //讀取配置文件中的localIP

(3)指定接收數據的網卡。

QListlist=QNetworkInterface::allInterfaces(); //獲取系統所有的網絡接口

QNetworkInterface intf;

foreach(QNetworkInterface intf, list)

{

foreach(QNetworkAddressEntry entry, intf.addressEntries()){

if(entry.ip()==QHostAddress(localIP)){

udpYCGroup->setMulticastInterface(intf);

……

}}

(4)接收遙測數據。

while(udpYCGroup->hasPendingDatagrams())

{

QByteArray *datagram;

datagram = new QByteArray();

datagram->resize(udpYCGroup->pendingDatagramSize());

udpYCGroup->readDatagram(datagram->data(), datagram->size());

}

(5)數據校驗、解析。

3 數據顯示模塊

為保證操作便捷、界面整潔,地面站軟件將接收到的數據分為幾個界面進行顯示,分別為主界面、飛行數據信息界面以及載荷數據信息界面。其中,主界面主要顯示載荷圖像信息、報警信息和重要飛行數據信息。飛行數據界面顯示無人機下傳的所有飛行數據信息;載荷信息界面顯示載荷設備下傳的所有載荷狀態信息。

3.1 飛行數據信息顯示

飛行數據信息采用圖表、圖形與文字的組合方式進行顯示。其中,與無人機飛行狀態有關的橫滾角、俯仰角、航向角等關鍵數據使用實時曲線圖形式顯示在軟件的主界面,以便操作人員通過界面曲線變化情況,直觀地觀察無人機整體飛行狀態,及時調整飛行姿態。無人機的信號強弱、電壓值和電池電量,參考手機的信號和電池電量的顯示形式,以圖形的方式在主界面的右上方顯示,操作人員可以實時觀察無人機通信和電壓情況。無人機下傳的所有飛行數據信息在飛行信息界面顯示。當有需要時,操作人員可以點擊飛行信息按鈕調出該界面,從而更全面、準確地觀察無人機的飛行狀態。

3.2 載荷數據信息顯示

載荷數據的顯示內容由無人機搭載的載荷類型決定,不同載荷類型顯示界面不同。載荷數據主要分為兩部分,一部分為載荷自身的設備狀態信息,操作人員可以通過點擊主界面的載荷狀態按鈕調出該界面;另一部分為載荷設備探測到的圖像信息、信號頻譜信息等,該信息在軟件主界面顯示。

3.3 報警信息顯示

故障報警信息提示是無人機地面站軟件極其重要的功能之一,它可以提醒地面操作人員根據報警內容實施相應的控制策略,以便及時排除故障、保證飛行安全6。該軟件主要通過文字、圖形及聲音3種方式傳遞故障信息,并且劃分故障等級。故障等級不同,采用的報警方式不同。

(1)當出現飛行數據超出協議規定的范圍的情況時,飛行數據信息界面中相應的數據顯示為:“--”,且文字顏色由正常的綠色變為紅色,以便操作人員查看。

(2)當機載電壓值、地面電壓值或電池電量值低于設定的報警閾值,則對應圖標變為紅色。

(3)當出現鏈路丟失、解算失敗、無IMU數據、低電壓返航、氣壓計異常等報警提示時,軟件主界面頂端位置彈出報警提示框,并在報警框中顯示故障信息,為使報警信息更加醒目,報警框中文字顏色為紅色。

(3)當涉及飛行安全的重要指標出現故障或載荷設備鏈接異常時,軟件同時會通過聲音報警的方式提示操作人員。當報警解除后,聲音報警自動停止,操作人員也可以手動關閉聲音報警。

4 電子地圖模塊

該系統使用第三方地圖庫,采用動態顯示加載外部庫的方式調用地圖庫。地面站軟件使用Qt自帶的QLibrary進行加載,通過調用協議中指定的接口函數加載電子地圖,并將無人機下傳的經度、緯度、高度等信息傳送給地圖庫。地圖庫可以對無人機當前飛行位置進行標注,繪制無人機運行軌跡,并支持地圖的基本操作功能,包括:放大、縮小、清除軌跡、打開漫游、取消漫游、進入量算、退出量算等。

加載地圖庫的步驟如下:

(1)把調用的地圖庫放在與地面站軟件.exe同一路徑中。

(2)在地面站軟件顯示地圖的UI界面上拖拽一個QWidget控件,用于顯示加載的地圖。

(3)加載地圖庫。

5 數據存儲與回放

5.1 數據存儲

數據存儲的主要功能是按照指定的路徑和存儲格式存儲無人機下傳的飛行數據及載荷設備下傳的圖像數據等信息,并且能夠在必要時將存儲的數據進行回放。

本軟件采用文本的形式存儲數據,數據存儲在一個單獨的線程中進行,使用QTextStream類進行存儲,該類能將二進制文件以數據流的形式進行存儲7。當網口從指定端口和IP地址接收到無人機下傳的飛行數據后,在指定文件夾下,建立以當前時間命名的文本文檔,通過QTextStream的out函數將接收的數據寫入文本文檔中。

5.2 數據回放

數據回放功能主要是根據選擇的數據文件將存儲的數據以與接收時完全相同的方式顯示,復現飛行狀況,以便更準確地對飛行數據進行分析8

數據回放的前提需斷開無人機與地面站軟件的連接。否則,界面既顯示無人機下傳的數據又顯示回放數據,會造成界面數據跳動、圖像錯亂等現象。

數據回放多用于觀察無人機整體飛行狀況或故障排查,很多情況下并不需要對每一幀數據都仔細觀察,而在排查故障時,又需要對故障數據詳細排查。因此,本研究設計了6種回放速度,分別為0.5倍、0.75倍、正常速度、1.5倍、2倍、3倍。操作人員可以通過點擊回放速度按鈕,選擇合適的回放速度。

6 測試結果分析及結論

開發完成的地面站軟件經過3種測試方式驗證其性能。(1)專門開發了一套針對此地面站軟件的測試程序,對軟件的功能進行逐一測試;(2)邀請具有測評資質的第三方測評機構對軟件測評,測評機構分別對軟件的功能、外部接口、內部接口、適應性、安全性等方面進行了兩輪測試,軟件最終通過測評;(3)在各種環境下,經多輪實際飛行實驗,對軟件功能進行測試。經多種測試結果分析,該套軟件具有界面簡潔、操作方便等特點,較好地實現了各部分功能,具有較強的實用性。整個系統是基于Qt平臺開發的,具有良好的可移植性和擴展性。

參考文獻

[1]付松源.系留多旋翼無人機及其在戰術通信中的應用[J].電子技術應用,2018(4):14-17,22.

[2]龍文彪.系留多旋翼無人機及其應用[J].科技創新導報,2020(2):57,59.

[3]吳侹.系留多旋翼無人機通信系統在應急救災通信中的應用[J].移動通信,2016(15):68-71.

[4]李帥,范項媛.基于Qt的無人機地面站軟件系統的設計[J].雷達科學與技術,2017(4):410-414,420.

[5]吳許夢華,龐振岳.基于Qt的多旋翼電動無人機地面站軟件設計與實現[J].飛機設計,2020(3):9-13,17.

[6]寧金星,盧京潮,閆建國.基于VC++的無人機飛控地面站軟件的開發[J].計算機測量與控制,2009(3):596-598.

[7]SUMMERFIELD M.Advanced Qt programming:creating great software with C++ and Qt 4[M].London:Prentice Hall,2011.

[8]嚴赫.無人機地面站軟件的設計實現及其數據庫應用[D].長春:吉林大學,2019.

(編輯 王永超)

Design and implementation of ground station software for tethered multi-rotor unmanned aerial vehicle based on QtSun Meijuan, Zou Tianyu, Ma Jing

(Spaceflight Shenzhou Craft Co., Ltd., Tianjin 300301, China)

Abstract: The tethered multi-rotor UAV adds tethered cables on the basis of the multi rotor UAV, so that it can be directly powered by the ground power supply. Therefore,the problem of short endurance of multi rotor UAV is solved. In this regard, a ground station software system of tethered multirotor UAV with complete functions and simple operation is developed based on Qt5.14.2. The system realizes the functions of real-time display of UAV telemetry data,telemetry command sending,fault alarm prompt, electronic map display, carrying different loads, data storage and playback. After several actual flight tests, the reliability, integrity and portability of the system functions are verified.

Key words: tethered multi-rotor; unmanned aerial vehicle; Qt; ground station software

猜你喜歡
指令界面信息
聽我指令:大催眠術
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
坐標系旋轉指令數控編程應用
機電信息(2014年27期)2014-02-27 15:53:56
主站蜘蛛池模板: 国产精女同一区二区三区久| 国产精女同一区二区三区久| 国产在线98福利播放视频免费| 亚洲成人在线网| 亚洲日韩精品综合在线一区二区| 国产尤物在线播放| 亚洲激情99| 国产一区三区二区中文在线| 国产永久免费视频m3u8| 国产一区二区精品福利| 欧美一区二区福利视频| 国产免费一级精品视频| 免费在线不卡视频| 有专无码视频| 国产精品福利社| 亚洲无码A视频在线| 亚洲AⅤ波多系列中文字幕| 国产精品午夜电影| 国产欧美日韩一区二区视频在线| 国产激情在线视频| 精品一区二区无码av| 国产91麻豆免费观看| 精品成人免费自拍视频| 国产乱子伦手机在线| 亚洲伊人久久精品影院| 亚洲日韩精品欧美中文字幕| 国产亚洲一区二区三区在线| 亚洲精品色AV无码看| 亚洲欧洲自拍拍偷午夜色无码| 国产jizz| 中文字幕在线视频免费| 女人av社区男人的天堂| 亚洲欧美一级一级a| 国产在线啪| 一级看片免费视频| 欧美亚洲国产精品久久蜜芽| 国产成人综合亚洲欧洲色就色| 亚洲成a人在线观看| 国产欧美日韩18| 欧美日韩在线观看一区二区三区| 成人福利在线观看| 国产精品亚洲专区一区| 亚洲国产在一区二区三区| 精品国产自| 亚洲a级在线观看| 亚洲欧美日韩久久精品| 国产在线日本| 天天躁日日躁狠狠躁中文字幕| 欧美啪啪一区| 伊人国产无码高清视频| 亚洲一区二区三区国产精华液| 欧美日韩理论| 久久99久久无码毛片一区二区| 久久中文字幕2021精品| 久久这里只精品热免费99| v天堂中文在线| 久久天天躁狠狠躁夜夜2020一| 黄色网站在线观看无码| 白浆免费视频国产精品视频| 国产成人综合网| 2021亚洲精品不卡a| 国产三级视频网站| 日韩在线影院| 亚洲人成网站色7799在线播放 | 国产精品欧美在线观看| 亚洲综合精品第一页| 婷五月综合| 欧美日韩成人| 婷婷午夜天| 国产男人天堂| 国产精品自在拍首页视频8| 日韩国产精品无码一区二区三区| 亚洲三级片在线看| 成人国产精品一级毛片天堂| 日韩精品成人网页视频在线 | 亚洲精品在线影院| 亚洲人成电影在线播放| 视频一本大道香蕉久在线播放| 日韩美一区二区| 亚洲二区视频| 亚洲天堂精品在线| 97成人在线观看|