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

無人機(jī)載光電吊艙顯控軟件的設(shè)計(jì)與實(shí)現(xiàn)

2021-04-08 09:25:08馬希超魏志強(qiáng)
電視技術(shù) 2021年1期
關(guān)鍵詞:界面設(shè)備

馬希超,魏志強(qiáng),葛 珊

(中國(guó)電子科技集團(tuán)公司第三研究所,北京 100015)

0 引 言

隨著無人直升機(jī)在偵察、監(jiān)視、消防及安保等領(lǐng)域的推廣應(yīng)用,無人機(jī)載光電吊艙的重要性日漸凸顯[1-2]。作為無人機(jī)的關(guān)鍵載荷之一,光電吊艙通常集成可見光相機(jī)、紅外熱像儀等傳感器,在采集并記錄實(shí)時(shí)視頻圖像的同時(shí),可實(shí)現(xiàn)手動(dòng)搜索、自動(dòng)跟蹤及掃描等功能[3-4]。通常,光電吊艙裝載在無人直升機(jī)上,通過有線或無線傳輸鏈路與地面操控臺(tái)通信,下傳實(shí)時(shí)視頻流和設(shè)備狀態(tài)信息,并接收操控指令。運(yùn)行于地面操控臺(tái)的顯控軟件用于實(shí)時(shí)解碼和顯示下傳的視頻,并實(shí)現(xiàn)人機(jī)交互[5]。

除光電吊艙本身的設(shè)備性能外,顯控軟件的設(shè)計(jì)和性能也對(duì)設(shè)備的使用體驗(yàn)具有重要作用[6]。良好的軟件設(shè)計(jì)可最大程度地發(fā)揮硬件設(shè)備的性能,提高設(shè)備的易用性和靈活性。顯控軟件在運(yùn)行中需同時(shí)處理視頻流的接收、解碼及顯示,設(shè)備狀態(tài)的接收、解析及顯示,控制指令的產(chǎn)生和發(fā)送,軟件界面人機(jī)交互,外設(shè)操縱桿動(dòng)作響應(yīng)等多項(xiàng)任務(wù)。由于顯控軟件需要同時(shí)處理的流程和任務(wù)繁多,因此必須合理設(shè)計(jì)規(guī)劃多線程執(zhí)行方式,保證各項(xiàng)流程的實(shí)時(shí)并行處理。

為此,設(shè)計(jì)并實(shí)現(xiàn)了一種基于C++語(yǔ)言和Qt框架的無人機(jī)載光電吊艙顯控軟件,通過對(duì)多線程結(jié)構(gòu)和數(shù)據(jù)傳遞流程的合理設(shè)計(jì),實(shí)現(xiàn)了軟件的高效、可靠、穩(wěn)定運(yùn)行,同時(shí)具有友好易用的人機(jī)交互界面。

1 軟件設(shè)計(jì)

1.1 功能設(shè)計(jì)

根據(jù)光電吊艙的設(shè)備功能、傳輸鏈路的連接形式以及實(shí)際使用的需要,顯控軟件應(yīng)具備如下功能:通過UDP 網(wǎng)絡(luò)通信方式接收包含視頻流的數(shù)據(jù)包,并從中提取可見光視頻流和紅外視頻流;實(shí)時(shí)解碼并顯示可見光視頻和紅外視頻;通過串口接收設(shè)備狀態(tài)數(shù)據(jù),并進(jìn)行解析顯示;通過串口發(fā)送設(shè)備控制指令;響應(yīng)軟件界面的人機(jī)交互操作;響應(yīng)外設(shè)操縱桿的動(dòng)作,并轉(zhuǎn)換為設(shè)備控制指令;其他軟件功能,如視頻記錄、數(shù)據(jù)記錄等。

1.2 模塊設(shè)計(jì)

根據(jù)功能要求進(jìn)行軟件的功能模塊設(shè)計(jì),如圖1 所示。各模塊的具體功能,如表1 所示。

圖1 功能模塊圖

表1 軟件模塊功能表

光電吊艙下傳的視頻流數(shù)據(jù)中既包含可見光視頻流也包含紅外視頻流,通過數(shù)據(jù)包幀頭的狀態(tài)字進(jìn)行區(qū)分。因此,視頻流接收模塊需對(duì)數(shù)據(jù)包進(jìn)行解析,將提取出的兩路視頻流分別存入各自的數(shù)據(jù)緩存中。可見,光視頻解碼模塊和紅外視頻解碼模塊分別從各自的數(shù)據(jù)緩存中讀取視頻流數(shù)據(jù),通過解碼得到原始YUV 格式圖像,再經(jīng)過格式轉(zhuǎn)換得到可顯示的RGB 圖像數(shù)據(jù)并傳遞至顯示模塊,進(jìn)而在軟件界面上實(shí)現(xiàn)實(shí)時(shí)顯示。

光電吊艙通過串口下傳設(shè)備狀態(tài)信息,由串口收發(fā)模塊接收并解析后,通過顯示模塊以字符或圖形方式顯示到軟件界面上。人機(jī)交互模塊和操縱桿響應(yīng)模塊捕獲操作人員通過軟件界面或操縱桿進(jìn)行的操作動(dòng)作,并生成對(duì)應(yīng)的控制指令,然后由串口收發(fā)模塊發(fā)送給光電吊艙。

2 軟件實(shí)現(xiàn)

2.1 開發(fā)環(huán)境和界面設(shè)計(jì)

軟件的開發(fā)環(huán)境為Visual Studio 2015,編程語(yǔ)言為C++,采用Qt 5.11作為圖形界面設(shè)計(jì)開發(fā)框架。軟件的界面設(shè)計(jì)如圖2 所示。

圖2 軟件界面設(shè)計(jì)

軟件界面分為傳感器控制、吊艙控制、記錄儀/激光控制、系統(tǒng)狀態(tài)顯示及軟件啟動(dòng)控制等5 個(gè)主要區(qū)域,通過合理的功能分區(qū)提高軟件的易用性。此外,視頻顯示為單獨(dú)窗口,可切換可見光和紅外顯示,便于在多屏設(shè)備上實(shí)現(xiàn)分屏顯示。

2.2 線程設(shè)計(jì)

軟件采用多線程方式實(shí)現(xiàn)各個(gè)功能模塊的并行處理,線程設(shè)計(jì)如圖3 所示。

圖3 線程設(shè)計(jì)

按照Qt 的規(guī)定,軟件界面的顯示和交互只能在主線程執(zhí)行,因此主線程運(yùn)行顯示模塊和人機(jī)交互模塊。軟件啟動(dòng)后,主線程開始運(yùn)行,創(chuàng)建5 個(gè)子線程,以并行方式運(yùn)行其余5 個(gè)功能模塊。線程之間的數(shù)據(jù)通信采用Qt 的signal/slot(即信號(hào)/槽)機(jī)制實(shí)現(xiàn)。該機(jī)制靈活安全,可有效避免大量采用全局變量可能引起的線程沖突和代碼混亂。在軟件停止運(yùn)行前,主線程停止并銷毀各子線程,釋放占用的資源。

各個(gè)線程的創(chuàng)建均在功能模塊的類內(nèi)實(shí)現(xiàn)。以可見光視頻解碼模塊為例,首先定義解碼器類Decoder。該類繼承自QObject,具有signal/slot 機(jī)制。定義該類所需的成員變量和成員函數(shù),如開始解碼startDecoding、停止解碼stopDecoding 等。此外,需定義一個(gè)線程變量,即QThread thread,線程的起止函數(shù)分別為void start()和void stop()。在Decoder 類的構(gòu)造函數(shù)中需包含以下處理:

connect(&thread, &QThread::started, this,&Decoder::startDecoding);

connect(&thread, &QThread::finished, this,&Decoder::stopDecoding);

moveToThread(&thread);

上述代碼首先將線程的啟動(dòng)信號(hào)started 和Decoder 的開始執(zhí)行函數(shù)startDecoding 相關(guān)聯(lián),將線程的停止信號(hào)finished 和Decoder 的結(jié)束執(zhí)行函數(shù)stopDecoding 相關(guān)聯(lián),然后將Decoder 類移動(dòng)到線程thread 中執(zhí)行。這樣對(duì)于Decoder 類的對(duì)象如tvDecoder,在需要啟動(dòng)解碼器時(shí),只需啟動(dòng)線程thread.start()。線程將發(fā)送啟動(dòng)信號(hào)started,進(jìn)而觸發(fā)startDecoding 函數(shù),開始在thread 線程中執(zhí)行。當(dāng)需要停止解碼器時(shí),只需調(diào)用thread.quit(),線程會(huì)發(fā)送停止信號(hào)finished,并觸發(fā)stopDecoding 函數(shù)執(zhí)行相關(guān)的釋放操作。

類內(nèi)線程創(chuàng)建處理不影響模塊類的各項(xiàng)功能實(shí)現(xiàn),簡(jiǎn)化了程序設(shè)計(jì),使得程序結(jié)構(gòu)清晰易懂。

3 軟件測(cè)試

軟件設(shè)計(jì)開發(fā)完成后,與光電吊艙配合搭載于某型無人直升機(jī)。吊艙與地面操控臺(tái)的通信采用無線傳輸鏈路,最大支持8 Mb/s 的傳輸速率。經(jīng)多次掛飛實(shí)驗(yàn)驗(yàn)證,軟件運(yùn)行穩(wěn)定,可同時(shí)解碼并顯示可見光視頻和紅外視頻(視頻截圖如圖4 和圖5 所示),延遲較低,無明顯卡頓現(xiàn)象,同時(shí)設(shè)備狀態(tài)和控制指令收發(fā)正常,軟件無閃退、報(bào)錯(cuò)等現(xiàn)象。

圖4 可見光視頻截圖

圖5 紅外視頻截圖

4 結(jié) 語(yǔ)

本文設(shè)計(jì)了一種用于無人機(jī)載光電吊艙地面操控臺(tái)的顯控軟件,可通過網(wǎng)絡(luò)通信接收視頻流數(shù)據(jù)并解碼顯示,通過串口收發(fā)設(shè)備狀態(tài)和控制指令。軟件采用C++語(yǔ)言和Qt 框架編程實(shí)現(xiàn),采用多線程架構(gòu),通過功能模塊類內(nèi)創(chuàng)建線程,并充分發(fā)揮signal/slot 機(jī)制的靈活性,使得程序結(jié)構(gòu)清晰易懂。經(jīng)掛飛實(shí)驗(yàn)驗(yàn)證,本軟件運(yùn)行穩(wěn)定,各項(xiàng)功能正常有效,無閃退、報(bào)錯(cuò)等現(xiàn)象。

猜你喜歡
界面設(shè)備
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
國(guó)企黨委前置研究的“四個(gè)界面”
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡(jiǎn)單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
空間界面
金秋(2017年4期)2017-06-07 08:22:16
電子顯微打開材料界面世界之門
人機(jī)交互界面發(fā)展趨勢(shì)研究
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
手機(jī)界面中圖形符號(hào)的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 国产欧美在线观看视频| 一级毛片在线免费视频| 亚洲女人在线| 午夜在线不卡| www.亚洲一区二区三区| 亚洲久悠悠色悠在线播放| 亚洲精品动漫| 精品国产一二三区| 97免费在线观看视频| 国产精品毛片一区| 国产主播福利在线观看| 成人综合久久综合| 美女免费黄网站| 国产成人精品高清在线| 美女一级免费毛片| 亚洲乱码视频| 亚洲成a人在线观看| 久视频免费精品6| 在线观看精品国产入口| 欧美97欧美综合色伦图| 国产麻豆va精品视频| 日本欧美在线观看| 国产在线拍偷自揄观看视频网站| 在线免费观看AV| 午夜精品影院| 成人久久精品一区二区三区| 亚洲欧美成人在线视频| 精品视频在线观看你懂的一区| 国内精品伊人久久久久7777人| 日本在线免费网站| 久久久亚洲色| 成人年鲁鲁在线观看视频| 香蕉久久国产超碰青草| 日韩区欧美区| 九九九久久国产精品| 丁香婷婷综合激情| 91视频99| 中文字幕在线视频免费| 91年精品国产福利线观看久久| 玖玖免费视频在线观看| 久久久久久久久18禁秘| 综合色区亚洲熟妇在线| 欧美日韩资源| 国产91线观看| 亚洲精品不卡午夜精品| 亚洲国内精品自在自线官| 日韩a级毛片| 国内黄色精品| 免费看美女自慰的网站| 99久久精品视香蕉蕉| 国产免费福利网站| 日韩免费毛片视频| 亚洲欧美成aⅴ人在线观看| 久久久久久尹人网香蕉| 久久男人资源站| 高清无码一本到东京热| 国产在线观看人成激情视频| 99在线视频免费| 久久人午夜亚洲精品无码区| 欧美精品在线观看视频| 国模在线视频一区二区三区| 国产精品对白刺激| 54pao国产成人免费视频| 操操操综合网| 干中文字幕| 国产在线精彩视频二区| 日本欧美视频在线观看| 中文字幕色站| 久久五月天综合| 亚洲丝袜中文字幕| 毛片免费高清免费| 五月婷婷激情四射| 亚洲av无码久久无遮挡| 欧美三級片黃色三級片黃色1| 97se亚洲综合| 国产精品三区四区| 亚洲swag精品自拍一区| 亚洲国产精品无码AV| a级免费视频| 一级毛片免费播放视频| 亚洲无码视频图片| 国产一区二区三区免费观看|