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),葛 珊

(中國電子科技集團(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ī)上,通過有線或無線傳輸鏈路與地面操控臺通信,下傳實(shí)時(shí)視頻流和設(shè)備狀態(tài)信息,并接收操控指令。運(yùn)行于地面操控臺的顯控軟件用于實(shí)時(shí)解碼和顯示下傳的視頻,并實(shí)現(xiàn)人機(jī)交互[5]。

除光電吊艙本身的設(shè)備性能外,顯控軟件的設(shè)計(jì)和性能也對設(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++語言和Qt框架的無人機(jī)載光電吊艙顯控軟件,通過對多線程結(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ū)分。因此,視頻流接收模塊需對數(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)作,并生成對應(yīng)的控制指令,然后由串口收發(fā)模塊發(fā)送給光電吊艙。

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

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

軟件的開發(fā)環(huán)境為Visual Studio 2015,編程語言為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(即信號/槽)機(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)信號started 和Decoder 的開始執(zhí)行函數(shù)startDecoding 相關(guān)聯(lián),將線程的停止信號finished 和Decoder 的結(jié)束執(zhí)行函數(shù)stopDecoding 相關(guān)聯(lián),然后將Decoder 類移動(dòng)到線程thread 中執(zhí)行。這樣對于Decoder 類的對象如tvDecoder,在需要啟動(dòng)解碼器時(shí),只需啟動(dòng)線程thread.start()。線程將發(fā)送啟動(dòng)信號started,進(jìn)而觸發(fā)startDecoding 函數(shù),開始在thread 線程中執(zhí)行。當(dāng)需要停止解碼器時(shí),只需調(diào)用thread.quit(),線程會(huì)發(fā)送停止信號finished,并觸發(fā)stopDecoding 函數(shù)執(zhí)行相關(guān)的釋放操作。

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

3 軟件測試

軟件設(shè)計(jì)開發(fā)完成后,與光電吊艙配合搭載于某型無人直升機(jī)。吊艙與地面操控臺的通信采用無線傳輸鏈路,最大支持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é) 語

本文設(shè)計(jì)了一種用于無人機(jī)載光電吊艙地面操控臺的顯控軟件,可通過網(wǎng)絡(luò)通信接收視頻流數(shù)據(jù)并解碼顯示,通過串口收發(fā)設(shè)備狀態(tài)和控制指令。軟件采用C++語言和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)用
國企黨委前置研究的“四個(gè)界面”
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
空間界面
金秋(2017年4期)2017-06-07 08:22:16
電子顯微打開材料界面世界之門
人機(jī)交互界面發(fā)展趨勢研究
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
手機(jī)界面中圖形符號的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 尤物成AV人片在线观看| 亚洲天堂精品视频| 久草青青在线视频| 国产成人啪视频一区二区三区| 久久性妇女精品免费| 欧美不卡视频在线| 亚洲国产日韩在线成人蜜芽| 亚洲无码免费黄色网址| 亚洲第一区在线| 中文字幕亚洲乱码熟女1区2区| 国产亚洲精品无码专| 国产对白刺激真实精品91| 国产亚洲精品精品精品| AV不卡无码免费一区二区三区| 欧美色视频网站| 精品久久香蕉国产线看观看gif| 免费jizz在线播放| 国产精品女人呻吟在线观看| 天堂av高清一区二区三区| 国产91无码福利在线| 久久99久久无码毛片一区二区| 在线国产欧美| 久久精品人人做人人| 国产色图在线观看| 国产亚洲现在一区二区中文| 国产伦精品一区二区三区视频优播 | 国产精品 欧美激情 在线播放| 色亚洲激情综合精品无码视频| 欧美中文一区| 国产精品尤物在线| 日本高清在线看免费观看| 亚洲欧美日韩中文字幕一区二区三区| 曰韩人妻一区二区三区| 亚洲精品自在线拍| 久草视频福利在线观看| 国产亚洲精| 麻豆精品久久久久久久99蜜桃| 超碰精品无码一区二区| 99国产精品一区二区| 亚洲无码高清视频在线观看| 漂亮人妻被中出中文字幕久久 | 一级毛片在线播放| 亚洲色欲色欲www在线观看| 亚洲二区视频| 区国产精品搜索视频| 男人天堂亚洲天堂| 午夜国产在线观看| jizz国产视频| 91在线免费公开视频| 午夜毛片免费观看视频 | 欧美日韩国产精品综合| 国产第四页| 亚洲国产成人久久77| 成年人福利视频| 国产成人综合亚洲网址| 试看120秒男女啪啪免费| 日本a级免费| 在线观看免费黄色网址| 国产精品中文免费福利| 青青草原国产免费av观看| 四虎成人在线视频| 99免费在线观看视频| 亚洲成人黄色网址| 国产成人啪视频一区二区三区 | 国产精品lululu在线观看| 中文字幕资源站| 亚洲手机在线| 99国产在线视频| 久久成人免费| 亚洲区第一页| 国产女人18水真多毛片18精品| 久久永久免费人妻精品| 2020国产在线视精品在| 亚洲欧美在线精品一区二区| 亚洲aaa视频| 97人人做人人爽香蕉精品| 国产极品粉嫩小泬免费看| 国产精品无码在线看| 中国丰满人妻无码束缚啪啪| av一区二区三区在线观看 | 中文字幕在线日韩91| 国产福利小视频高清在线观看|