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

基于DDS 的無人直升機綜合處理軟件設計與實現

2021-06-16 23:49:50覃石昌
電子制作 2021年6期
關鍵詞:指令

覃石昌

(中國直升機設計研究所無人機事業部,江西景德鎮,333001)

0 引言

對于無人直升機來說,其在飛行過程中,需要接收地面控制站對其發送飛行控制指令進行姿態調控;需要接收任務控制指令執行相應任務;需要向地面站回傳遙測數據顯示飛行狀態,操作人員根據遙測數據判斷飛機飛行姿態,向無人機發送相應的遙控指令。因此,在無人直升機飛行過程中,地面控制站內部之間、內部與外部都會會有大量的數據交互,因而需要穩定可靠的數據傳送通道。DDS 是分布式系統實時應用程序的通訊中間件,DDS 能夠滿足非常復雜、非常靈活的數據流要求。本文利用QT 搭建無人直升機地面站[1-2]綜合處理軟件運行框架,基于DDS 實現軟件對外數據通信。

1 軟件架構

無人直升機綜合處理軟件采用C++編程語言進行設計與開發。軟件采用模塊化設計,具有良好的擴展性。軟件架構如圖1 所示。軟件包含通信、復合指令解析、綜合管理、遙測數據解析、席位管理、協議處理、日志管理等七個主要功能模塊。

圖1 無人直升機綜合處理軟件架構圖

其中基于DDS 的通信模塊是其他功能模塊的基礎,其他功能模塊依賴于通信處理模塊提供數據接收和數據發送通道。

2 基于DDS 的通信模塊的實現

DDS 是由RTI 公司研發的通信中間件,其廣泛應用于復雜的分布式應用、系統工程集成、控制自動化等領域。DDS 是一個可以解決時間苛刻和數據苛刻難題的通信中間件。DDS 獨立于操作系統和編程語言,可以實現不同系統之間的通信。其傳輸方式包括以太網、共享內存或其他連接方式。另外DDS 具有多種服務質量策略(QoS)參數可供調整,方便用戶調整使應用程序達到性能和資源利用的最佳組合。

無人機地面站內部數據交互具有數據量大、異構系統多、編程語言多樣化、對數據傳輸質量要求多樣化等特點,因而綜合處理軟件通信模塊需要選擇一個與系統、編程語言無關,調試方便靈活,容易解耦的通信中間件,所以本模塊基于DDS 進行開發,以生成源文件形式供主程序調用。

■2.1 DDS 調用模式

DDS 主要有兩種數據傳輸模式:主題模式和回調模式。

(1)主題模式原理如圖2 所示:通信端點之間創建域來進行資源集中配置,每個域中有若干主題,注冊在同一個主題內的訂閱者可以獲得發布者發布的信息。

圖2 DDS 主題模式原理圖

(2)回調模式原理如圖3 所示:調用端和服務端也需要處于相同的域和主題之下,它們之間的通信交互和普通函數回調一樣,調用端發送請求,服務端反饋請求結果。

圖3 DDS 回調模式原理圖

DDS 兩種傳輸模式下每個主題都有獨立的服務質量策略(QoS)文件,從而針對不同的應用場景對傳輸質量和傳輸速率之間進行優化配置。

DDS 開發分為以下幾個步驟,流程圖如圖4 所示:

圖4 基于DDS 通信模塊開發步驟圖

(1)編寫IDL(interface description language)文件;

(2)在服務端和客戶端編譯IDL 文件,生成獨立C++頭文件、源文件;

(3)在項目中引入生成的源文件,配置DDS 服務策略(QoS),編寫通信處理函數;

(4)代碼編譯;

(5)測試與集成。

■2.2 編輯IDL 文件

根據軟件的應用場景,軟件的DDS 通信需求分為主題模式與回調模式,席位管理指令采用回調模式,其他指令數據采用主題模式。

(1)采用回調模式的用戶登陸指令調用數據格式如下:

數據內容為用戶名、密碼、用戶角色,密碼采用哈希加密保證數據安全,角色代表當前登陸用戶的角色。

服務端反饋指令數據格式如下:

數據內容為操作結果標志,失敗原因(如果操作結果失敗,此項填寫原因,成功則置空)。

(2)采用主題模式的遙控指令數據格式如下:

其中struct_header 是統一的數據包頭,里面包含信源、信宿、指令長度等常規信息,fmCode 為指令碼,fmData為指令內容。

通過類似上述的數據結構的定義,創建了具有12 個席位管理指令數據結構與32 個飛行指令數據結構的IDL 文件。

■2.3 生成源碼和配置策略

打開DDS 客戶端Launcher 界面,在code Generator子界面打開創建的IDL 文件,選擇源文件輸出文件夾,編程語言選擇Modern c++11,運行庫平臺選擇X64Vs2017,點擊運行,可以在源文件輸出文件夾得到如圖5 所示生成的四個c++文件。

圖5 生成的源文件

在QT 創建的項目工程中導入生成的四個c++文件,并在環境變量配置DDS 頭文件目錄與lib 目錄。

席位管理指令要求傳輸可靠,響應速度快,請求和接收同步處理,因而采用 DDS的 RELIABILITY(可靠性)Qos策略,可以保障發布的數據內容能夠可靠的傳輸。

其他一般的指令數據特點是數據傳輸不可靠,數據量較大,且傳輸頻率高,因而采用DDS 的 BEST_EFFORT(高效)Qos 策略,可以保障數據寫入者能夠以最高效的方式將數據發送出去,不會阻塞在函數調用上,提升發送者者的數據處理和發送能力。

■2.4 創建通信線程

為保證綜合處理軟件的并發處理能力,通信線程由數據接收線程(RecvThread)、數據處理線程(DealThread),數據發送線程(SendThread),回調處理線程(RRThread)四個子線程組成。

(1)為了實現主題模式下數據接收、發送與數據處理之間的同步,并提高數據交互效率,在RecvThread 與DealThread 之間和SendThread 與DealThread 之間均采用了采用無鎖緩沖區交換信息。

主題模式下通信處理流程如圖6 所示。

圖6 主題模式數據處理流程

(a)數據接收子線程(RecvThread)、數據處理子線程(DealThread)、數據發送子線程(SendThread)初始化完畢;

(b)RecvThread 通過類WaitSet 的wait()方法阻塞線程,直到接口接收到新數據,通過DDSReader 對象接收新數據;

(c)RecvThread 接收到新數據后,解析數據幀,從幀頭讀取數據信源、信宿等屬性,根據信宿分發到不同的接收緩沖區;

(d)DealThread 循環處理接收緩沖區的數據,分發到對應的處理數據緩沖區;

(e)SendThread 從處理緩沖區取出數據,通過DDS發送出去。

(2)回調處理線程(RRThread)負責處理回調模式的數據請求,如圖7 所示,針對每一種類型回調指令,通過實例化一個監聽器(ReplierListener 類對象)來監聽數據接收接口,并最終在ReplierListener 類內的on_request_available()方法內實現數據處理邏輯,最后返回處理結果。

圖7 回調模式處理流程

3 其他功能模塊的實現

在通信模塊設計實現完成后,使用QT Creator 進行軟件其他功能模塊開發,其他的功能模塊有:

(1)席位管理模塊:管理各個控制臺席位的登陸、注銷、狀態管理,權限管理;

(2)日志管理模塊:記錄軟件運行期間的運行狀態數據,記錄上行的遙控指令幀,下行的遙測數據幀;

(3)協議處理模塊:讀取協議文件,對上行遙控指令、下行遙測數據進行協議解析;

(4)復合指令解析模塊:解析上行飛行遙控指令、上行遙調指令、連續量指令等,組成復合幀,發送到無人機;

(5)遙測數據解析模塊:解析下行遙測數據,轉發到地面控制站各個設備;

(6)綜合管理模塊:完成系統初始化配置,運行狀態自檢,各個通信通道冗余切換等功能。

以上功能模塊與通信模塊通過內部接口進行數據交互、相互調用,共同實現了綜合處理軟件的主體功能。

4 應用實例

在U-Y 型無人直升機地面站服務器內部署該綜合處理軟件。在軟件正常啟動后:

(1)控制臺席位均可以正常登陸,注銷,超時下線,站內各個設備可以定時接收到綜合處理軟件發送的控制站自檢狀態數據;

(2)只有具有權限的計算機才可以發送遙控,遙調指令;

(3)U-Y 無人直升機 接收到的遙控復合指令幀數據校驗合格,指令幀傳輸時延符合設計要求;

(4)站內設備均可接收到綜合處理軟件轉發的U-Y 無人直升機發送的遙測數據;數據校驗和時延均符合設計要求;

(5)查看日志文件,完整記錄了系統運行期間的狀態與各種上行、下行數據。

綜上所述,在U-Y 無人直升機地面試驗或飛行操作中,綜合處理軟件運行穩定,完全符合設計要求。

5 結束語

本文詳細介紹了基于DDS 的無人直升機綜合處理軟件的設計實現過程。用本文方法編制的綜合處理軟件,經過在U-Y 無人直升機地面站實際運行驗證,該綜合處理軟件能夠完成控制臺管理、指令發送、遙測數據轉發等功能,具有運行穩定,運行效率高等特點,為U-Y 無人直升機的飛行提供了必要的幫助。日后從提高軟件通用性的角度出發,將大功能部件模塊化,生成庫文件,達到其他軟件可以迅速復用的效果。

猜你喜歡
指令
聽我指令:大催眠術
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
巧用G10指令實現橢圓輪廓零件倒圓角
時代農機(2015年3期)2015-11-14 01:14:29
中斷與跳轉操作對指令串的影響
科技傳播(2015年20期)2015-03-25 08:20:30
基于匯編指令分布的惡意代碼檢測算法研究
一種基于滑窗的余度指令判別算法
歐盟修訂電氣及電子設備等產品安全規定
家電科技(2014年5期)2014-04-16 03:11:28
MAC指令推動制冷劑行業發展
汽車零部件(2014年2期)2014-03-11 17:46:27
主站蜘蛛池模板: 久久精品日日躁夜夜躁欧美| 国产又爽又黄无遮挡免费观看| 风韵丰满熟妇啪啪区老熟熟女| 亚洲精品另类| 91九色视频网| 素人激情视频福利| 91精品国产自产在线老师啪l| 午夜国产精品视频| 亚洲资源站av无码网址| 国内精品视频在线| 女人天堂av免费| 九色在线观看视频| 久久久久亚洲Av片无码观看| 92午夜福利影院一区二区三区| 久热中文字幕在线| 青青草一区| 97人人做人人爽香蕉精品| 美女被狂躁www在线观看| 91黄色在线观看| 日韩天堂视频| 国产成人精彩在线视频50| 国产成人91精品| 青草视频免费在线观看| 久久不卡精品| 亚洲第一黄片大全| 亚洲色婷婷一区二区| 狠狠操夜夜爽| 无码高潮喷水专区久久| 国产69精品久久久久妇女| 亚欧乱色视频网站大全| 亚洲综合经典在线一区二区| 欧美视频免费一区二区三区| 精品第一国产综合精品Aⅴ| 伊人久热这里只有精品视频99| 久久国产高潮流白浆免费观看| 亚洲欧洲日韩综合色天使| 人妻无码中文字幕一区二区三区| 精品国产成人av免费| 国产乱子伦视频在线播放| 国产凹凸视频在线观看| 成人午夜福利视频| 一级高清毛片免费a级高清毛片| 国产麻豆精品久久一二三| 久久人人妻人人爽人人卡片av| 丁香婷婷激情网| 日本国产精品| 日韩精品毛片| 亚洲精品桃花岛av在线| 国产精品一区二区国产主播| 夜夜拍夜夜爽| 久久久久中文字幕精品视频| 波多野结衣视频一区二区 | 精品日韩亚洲欧美高清a| AV无码国产在线看岛国岛| 亚洲日韩精品无码专区97| 欧美日韩一区二区在线播放| 亚洲天堂网站在线| 另类专区亚洲| 国产精品粉嫩| 国产成人亚洲无码淙合青草| 国产精品一区二区在线播放| 国产成人免费手机在线观看视频 | 国产爽妇精品| 国产精品香蕉在线观看不卡| 亚洲AⅤ永久无码精品毛片| 亚洲国产精品VA在线看黑人| 国产亚洲精品yxsp| 亚洲一区网站| 一本大道视频精品人妻| 日韩在线观看网站| 国产色婷婷| 黄色片中文字幕| 亚洲IV视频免费在线光看| 色婷婷久久| 原味小视频在线www国产| 真人免费一级毛片一区二区| 国产草草影院18成年视频| 性视频一区| 在线观看国产黄色| 欧美午夜久久| 亚洲中文无码av永久伊人| 黑色丝袜高跟国产在线91|